2002-03-01 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.10 (stable). 2002-03-01 Tim Waugh <twaugh@redhat.com> * patchutils.xml: Put some examples in lsdiff(1). * TODO: Updated. * Makefile.am: Now we pass nondiff. * filterdiff.c (filterdiff): Show non-diff lines when excluding. * tests/common.sh: Support filterdiff testing. * tests/nondiff/run-test: New test. * patchutils.xml: Update interdiff(1). * Makefile.am (XFAIL_TESTS): Now we pass fuzz1. * interdiff.c (trim_context): New function for trimming context to prevent spurious fuzz. (output_delta): Use it. * rediff.c (read_atatline): Move.. * diff.c (read_atatline): ..to here. * diff.h: Prototype for read_atatline. 2002-02-28 Tim Waugh <twaugh@redhat.com> * interdiff.c (construct_unline): New function. (write_file): Generate a unique line so that problems can be identified when diffing. (output_delta): Identify problems when diffing. * tests/linux-2.2.17-pre4-5/run-test: Patch -R is never going to work with this test, since a proper interdiff is impossible. * Makefile.am: We pass the important bit of linux-2.2.17-pre4-5 finally. 2002-02-24 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.9 (stable). 2002-02-06 Tim Waugh <twaugh@redhat.com> * diff.c (best_name): Don't consider /dev/null as a good name for a modified file. 2002-01-31 Tim Waugh <twaugh@redhat.com> * patchutils.xml: Put an example in for grepdiff. 2002-01-31 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.8 (stable). 2002-01-31 Tim Waugh <twaugh@redhat.com> * filterdiff.c (determine_mode_from_name): Name change from 'list_or_filter'. (set_grep): New function. (mode): New global enum, replacing 'listing'. (main): Handle --grep. (syntax_str): Document --grep. (filterdiff): Check mode instead of listing. Handle grep mode. * Makefile.am: Add grepdiff alias for filterdiff. * patchutils.xml: Add refentry for grepdiff. * tests/common.sh: Set GREPDIFF. * Makefile.am, tests/grepdiff1/run-test: New test. 2002-01-22 Tim Waugh <twaugh@redhat.com> * filterdiff.c (filterdiff): Handle filenames with spaces. * interdiff.c (index_patch2, interdiff): Likewise. * tests/lsdiff4/run-test, Makefile.am: New test for lsdiff. 2002-01-08 Tim Waugh <twaugh@redhat.com> * patchutils.xml: Fix typo. 2001-12-18 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.7 (stable). 2001-12-18 Moritz Barsnick <barsnick@gmx.net> * tests/*/run-test: Use backticks instead of $(...) for portability. (Not all listed since there are _so_ many..) * Makefile.am: Use [ -f ... ] instead of [ -e ... ] for portability. 2001-12-18 Tim Waugh <twaugh@redhat.com> * patchutils.xml: Fix filterdiff example in man page. 2001-12-18 Moritz Barsnick <barsnick@gmx.net> * fixcvsdiff.in, splitdiff.in: Get perl location from autoconf. 2001-12-18 Tim Waugh <twaugh@redhat.com> * configure.in: Check for perl, generate fixcvsdiff from fixcvsdiff.in. * fixcvsdiff: Moved... * fixcvsdiff.in: ...here. * Makefile.am: Only ship the test scripts in the tests directory, not all the CVS junk as well. * Makefile.am: Don't ship the generated scripts. 2001-12-18 Moritz Barsnick <barsnick@gmx.net> * configure.in, Makefile.am, getopt.c, getopt.h, getopt1.c: Supply getopt_long if it's not available from the system. * myerror.c: Include sys/types.h if it's present, for pid_t. 2001-12-17 Tim Waugh <twaugh@redhat.com> * tests/lsdiff3/run-test, Makefile.am: Test that -s works across locales. * filterdiff.c (file_exists): Use strptime to interpret the timestamp. (main): Set LC_TIME to C since that's what diff outputs time in. * editdiff.in: Fix argument parsing. 2001-12-12 Tim Waugh <twaugh@redhat.com> * filterdiff.c (file_exists): Handle patches that were made in a different time zone to the local machine. 2001-12-10 Tim Waugh <twaugh@redhat.com> * filterdiff.c (show_status): New global. (file_exists): New function. (filterdiff): Show file additions, modifications and removals. (syntax_str): New option -s. (main): Make status display optional. * tests/lsdiff2/run-test: Test status functionality. * Makefile.am: Run the test. * patchutils.xml: Updated to reflect new option. * Makefile.am: Now lsdiff is just a symlink to filterdiff. * configure.in: Don't create lsdiff from lsdiff.in any more. * patchutils.xml: Update, remove duplicate filterdiff section. * lsdiff.in: Removed. No longer needed. * filterdiff.c (listing, numbering): New globals. (stripped): New function. (filterdiff): Implement lsdiff too. (syntax_str): Updated. (set_list): Run as lsdiff. (set_filter): Run as filterdiff. (list_or_filter): Determine execution mode from filename. (main): But command line parameter can override it. 2001-12-07 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.6 (stable). 2001-12-07 Tim Waugh <twaugh@redhat.com> * patchutils.xml: New file from which all the man pages are now generated. * Makefile.am: Generate the man pages. 2001-12-06 Tim Waugh <twaugh@redhat.com> * interdiff.c (output_delta): Preserve time stamps. * tests/nodate/run-test: Fix test to cope with that. * lsdiff.in: Fix name selection to match that used in diff.c and in patch(1). Better handling of incorrect input. * tests/U0/run-test: New test case. * Makefile.am: Now we pass it. * interdiff.c (munge_diff_output): Remove (no longer needed). * interdiff.c (output_delta): Never call munge_diff_output. * diff.c (best_name): Take the length of the entire pathname into account as well. 2001-12-05 Tim Waugh <twaugh@redhat.com> * tests/addhunk3/run-test: New test case. * Makefile.am: We don't pass it. 2001-12-04 Tim Waugh <twaugh@redhat.com> * editdiff.in, configure.in, Makefile.am, rediff.1: New file editdiff.in. This is a short wrapper script for rediff to make it more convenient to use. 2001-12-03 Tim Waugh <twaugh@redhat.com> * util.c, util.h: getline should return ssize_t. * filterdiff.c (filterdiff): getline takes a size_t parameter. * interdiff.c (create_orig, output_patch1_only, apply_patch, munge_diff_output, copy_residue, index_patch2, interdiff): Likewise. * rediff.c (copy_hunk, adjust_offsets_and_copy, copy_lines, added_hunk, show_modified_hunk, rediff): Likewise. 2001-12-03 Adrian Bunk <bunk@fs.tum.de> * lsdiff.1: Program name is lsdiff not rediff. 2001-12-02 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.5 (stable). 2001-11-29 Tim Waugh <twaugh@redhat.com> * tests/fuzz1/run-test, Makefile.am: New test, which we don't pass. Mostly harmless. 2001-11-28 Tim Waugh <twaugh@redhat.com> * interdiff.c (output_patch1_only): Since we might invert the meaning of '-' and '+', make sure to swap the line counts accordingly. * tests/combine2/run-test, tests/combine3/run-test: New tests. * Makefile.am: Now we pass those tests. 2001-11-27 Tim Waugh <twaugh@redhat.com> * lsdiff.in: Fix name selection. * tests/common.sh: Support for lsdiff tests. * tests/lsdiff1/run-test, Makefile.am: New test, which we now pass. 2001-11-27 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.4 (stable). 2001-11-27 Tim Waugh <twaugh@redhat.com> * interdiff.c: Apply patch from Matthias Hanisch. (index_patch2): Use newline as a delimiter too. (interdiff): Likewise. * tests/nodate/run-test, Makefile.am: New test, which we now pass. * interdiff.c: New global 'combining', zero if running as interdiff. (create_orig): Handle reversed patches. (output_patch1_only): Likewise. (apply_patch): Likewise. (output_delta): Run-time combinediff differences. (interdiff): Likewise. (set_interdiff, set_combinediff): Set up running image for interpolating or combining. (interdiff_or_combinediff): Determine which from argv[0]. (syntax, interdiff): But that's trumped by new options --interpolate and --combine. This (much more elegant) way of doing combinediff is due to Matthias Hanisch, who had the idea to reconstruct version 2 of the patched file rather than version 1. * interdiff.c (new_offset, apply_offsets): Remove (no longer needed). * interdiff.1, combinediff.1: Update with new options. * Makefile.am: No need to build combinediff separately now, but symbolic link trickery is needed instead. * patchutils.spec.in: New file. * configure.in: Create patchutils.spec. * Makefile.am: Distribute it. * AUTHORS, INSTALL, README, NEWS: New files. * Makefile.am: Don't need 'foreign' now. 2001-11-22 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.3 (stable). 2001-11-22 Tim Waugh <twaugh@redhat.com> * rediff.c (copy_hunk): Return the number of lines copied. (adjust_offsets_and_copy): Likewise. (copy_lines): New function. (copy_trailing): New function to copy trailing non-diff lines. (copy_to): Extra parameter is_first, zero unless this is the first hunk. Copy leading and trailing non-diff lines. (show_modified_hunk): Use copy_trailing. (rediff): Give copy_to its extra parameter. * Makefile.am: Now we pass the edit7 test. * rediff.c: Comments, clean-ups. * tests/addhunk1/run-test, tests/addhunk2/run-test: New tests. * Makefile.am: We don't pass those yet. * rediff.c (added_hunk): New function. Make an attempt to deal with added hunks. (removed_hunk): Place-holder for removed hunk support. (show_modified_hunk): Some support for hunk additions/removals. (rediff): Preliminary support for hunk additions. * tests/delhunk1/run-test, tests/delhunk2/run-test: New tests. * Makefile.am: We don't pass those yet. * tests/trimcontext1/run-test: New test. * Makefile.am: We pass this, and now we also pass addhunk2. 2001-11-21 Tim Waugh <twaugh@redhat.com> * tests/edit7/run-test: New test case. * Makefile.am: We fail it at the moment. 2001-11-20 Tim Waugh <twaugh@redhat.com> * lsdiff.in, lsdiff.1: New files. * Makefile.am: lsdiff. * configure.in: Create lsdiff from lsdiff.in. * splitdiff.in, splitdiff.1: New files. * Makefile.am: splitdiff. * configure.in: Create splitdiff from splitdiff.in. 2001-11-20 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.2 (stable). 2001-11-20 Tim Waugh <twaugh@redhat.com> * Makefile.am, tests/*/run-test, tests/common.sh: Integrate tests into make check. * tests/Makefile: No longer needed. * combinediff.1: New file. * tests/combine1/run-test: New test case. 2001-11-19 Tim Waugh <twaugh@redhat.com> * interdiff.c: A few changes for combinediff. * Makefile.am: Build combinediff. * clean.sh: Automake 1.5 stuff. * rediff.c (rediff): Use xstrdup. * tests/Makefile: Some rediff test cases. * tests/edit1/run-test: New test case. * tests/edit2/run-test: New test case. * tests/edit3/run-test: New test case. * tests/edit4/run-test: New test case. * tests/edit5/run-test: New test case. * tests/edit6/run-test: New test case. 2001-11-18 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.1 (stable). 2001-11-17 Tim Waugh <twaugh@redhat.com> * filterdiff.1: Change title from EXTRACTDIFF to FILTERDIFF. * rediff.c: New file. * rediff.1: New file. * Makefile.am: Build rediff. * tests/Makefile: Support for testing rediff. 2001-11-16 Matthias Hanisch <matze@camline.com> * interdiff.c: New structure lines_info, for storing a tail pointer. (add_line): Use it. (create_orig): Likewise. (output_delta): Likewise. * interdiff.c (insert_line_before): New function. (add_line): Use it. * interdiff.c (add_line): Make appending to the list a fast operation with constant complexity. * interdiff.c (merge_lines): New function. (output_delta): Use it. * interdiff.c: These changes together give a substantial speed increase. 2001-11-13 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.2.0 (stable). 2001-11-13 Tim Waugh <twaugh@redhat.com> * interdiff.1: Document -w. 2001-11-13 Matthias Hanisch <matze@camline.com> * interdiff.c (ignore_whitespace): New global variable. (output_delta): Use it. (syntax, main): New option '-w' for ignoring white space. 2001-10-22 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.1.5 (devel). 2001-10-22 Tim Waugh <twaugh@redhat.com> * Makefile.am: We need to distribute bin_SCRIPTS too. 2001-10-18 John Levon <moz@compsoc.man.ac.uk> * fixcvsdiff: Tiny perl script for fixing cvs diff results. * fixcvsdiff.1: Manual page for script. * Makefile.am: Add fixcvsdiff. 2001-10-18 Tim Waugh <twaugh@redhat.com> * interdiff.c (check_filename): Make static. * filterdiff.c (pat_include, pat_exclude, ignore_components, unzip, filterdiff, syntax): Make static. 2001-10-18 Stanislav Ievlev <inger@altlinux.ru> * util.h: Check for older GCCs. 2001-10-17 Tim Waugh <twaugh@redhat.com * configure.in: Version 0.1.4 (devel). 2001-10-17 Stanislav Ievlev <inger@altlinux.ru> * diff.c (best_name): Use xmalloc. * interdiff.c (output_delta): Use TMPDIR or P_tmpdir for temporary directory path. * configure.in: Check for alloca (used in output_delta now). * Makefile.am: New file myerror.c. * myerror.c: New file. * util.h: Declare error() replacement function. * interdiff.c, util.c: Use new error function. * util.c (xmkstemp): New function. * util.h: Declare it. * interdiff.c (output_delta): Use it. 2001-10-17 Tim Waugh <twaugh@redhat.com> * configure.in: Test for error.h, error. * interdiff.c: Include error.h, errno.h. * util.h (FORMAT): Define appropriately. 2001-10-17 Stanislav Ievlev <inger@altlinux.ru> * filterdiff.c, interdiff.c: Use NORETURN for syntax() functions. 2001-10-17 Tim Waugh <twaugh@redhat.com> * util.h (NORETURN): Define appropriately depending on compiler. 2001-10-17 Marko Kreen <marko@l-t.ee> * diff.c, filterdiff.c, interdiff.c, util.c, util.h: Make sure to include config.h where necessary, and don't include system headers from project headers. 2001-10-15 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.1.3 (devel). 2001-10-15 Marko Kreen <marko@l-t.ee> * util.h: Declare xopen_unzip. * util.c (xopen_unzip): New function. * interdiff.c (unzip): New global variable. (syntax): Add -z option for decompression. (main): Handle -z option. * interdiff.1: Add -z option for decompression. * filterdiff.c (unzip): New global variable. (syntax_str): Add -z option for decompression. (main): Handle -z option. * filterdiff.1: Add -z option for decompression. 2001-09-21 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.1.2 (devel). 2001-09-21 Tim Waugh <twaugh@redhat.com> * util.h: Apply patch from Christopher C. Chimelis <chris@debian.org> to fix build problems on alpha. 2001-05-29 Marko Kreen <marko@l-t.ee> * configure.in: Check for <sys/types.h>. 2001-05-29 Moritz Barsnick <barsnick@gmx.net> * filterdiff.c: Include <sys/types.h> for ssize_t. * util.h: Match util.c's xpipe declaration. Include <sys/types.h> for pid_t. 2001-05-22 Tim Waugh <twaugh@redhat.com> * configure.in: Version 0.1.1 (devel). 2001-05-22 Tim Waugh <twaugh@redhat.com> * TODO, BUGS, filterdiff.1: Updated. 2001-04-28 Marko Kreen <marko@l-t.ee> * merge interdiff and extractdiff * new function getline() for non-glibc systems. * move xopen to util.c, new function xopen_seekable for interdiff * use xmalloc in add_to_list, add_line * use xpipe in apply_patch, output_delta * calculate_num_lines, orig_num_lines, new_num_lines, num_pathname_components, best_name -> diff.c * extractdiff -> filterdiff * set progname on startup - used in --help; should be used in error messages too * hardwire program name in --version -> useful when renamed. 2001-04-22 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.1.0 (devel). 2001-04-22 Tim Waugh <twaugh@redhat.com> * interdiff.c (max_context, max_context_real, ignore_components, pat_drop_context): New globals. (human_readable): Default to on. (check_filename): New function. (output_delta): Generate specified amount of context. (copy_residue): Check file name for context settings. (interdiff): Likewise. (xopen): Return immediately if opening the file failed. (main): Getoptify. * util.c: New file. (xstrdup): Implement in terms of xmalloc and strcpy. (patlist_add, patlist_match, patlist_free): New. * util.h: New file. Declare above functions. (xmalloc, xstrndup): Move... * interdiff.c: ...from here. 2001-02-23 Tim Waugh <twaugh@redhat.com> * interdiff.c (calculate_num_lines): More careful string handling. 2001-02-23 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.10 (stable). 2001-02-23 Tim Waugh <twaugh@redhat.com> * tests/comma/run-test: New test. * Makefile: Run test. * interdiff.c (calculate_num_lines): Calculate the number of lines in the original for "@@ -1 +x,y @@" correctly as 1, not y. Fixes comma test. 2000-11-05 Tim Waugh <twaugh@redhat.com> * interdiff.c (xopen): Handle non-existent files. 2000-11-04 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.9 (stable). 2000-11-04 Tim Waugh <twaugh@redhat.com> * interdiff.c (xopen): New function. Get a seekable FILE stream from a possible non-seekable FILE stream. (main): Use it, because we need to seek. 2000-08-16 Tim Waugh <twaugh@redhat.com> * interdiff.c (best_name): Shut gcc up (best is always initialised). * Makefile (DEBIAN_DEBUGFLAGS): Debian policy changes (Adrian Bunk). 2000-08-07 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.8 (stable). 2000-08-03 Tim Waugh <twaugh@redhat.com> * interdiff.c (stripped): Ignore "./" at the beginning of names, for the purpose of comparison. 2000-08-03 Boszormenyi Zoltan <zboszor@externet.hu> * interdiff.c (main): Several fixes in parameter parsing. 2000-08-02 Tim Waugh <twaugh@redhat.com> * Makefile: Fix command substitution. 2000-08-02 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.7 (stable). 2000-08-02 Tim Waugh <twaugh@redhat.com> * interdiff.c (file_in_list): Ignore pathname components when told to. 2000-08-01 Tim Waugh <twaugh@redhat.com> * interdiff.c (create_orig): Take note of @@ lines properly. (stripped): New function. * interdiff.1: Updated for -p. * interdiff.c (create_orig): Don't keep freeing memory that will be immediately reallocated. (interdiff): Likewise. (output_reverted): Likewise. (switch_order_preference): New function. (main): Tidy up option parsing (but we'll use getopt someday). (syntax): Update syntax. * tests/newline3/run-test: New test. * tests/copy1/run-test: New test. * tests/newline2/run-test: New test. * tests/apply1/run-test: New test. * tests/revert2/run-test: New test. * Makefile (TESTS): Add revert2, apply1, copy1, newline2 and newline3 to regression tests. * interdiff.c (output_reverted): Handle patches for files with no newline in the last line. Now newline3 passes. * interdiff.c (copy_residue): Fix @@ handling. Now copy1 passes. * interdiff.c (apply_patch): Fix @@ handling. Now apply1 passes. * interdiff.c (output_reverted): Take note of @@ lines (properly). (calculate_num_lines): New function to calculate the number of context lines expected from either the original file or the modified file. (orig_num_lines): New function. (new_num_lines): New function. (interdiff): Use xstrdup not strdup. 2000-08-01 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.6 (stable). 2000-08-01 Tim Waugh <twaugh@redhat.com> * Makefile (TESTS): Add dashes4 to regression tests. * tests/dashes4/run-test: New test. 2000-07-31 Tim Waugh <twaugh@redhat.com> * tests/dashes2/run-test: Some fixes. * tests/dashes1/run-test: Some fixes. * Makefile (TESTS): Add dashes, dashes1, dashes2 and dashes3 to regression tests. * tests/dashes3/run-test: New test. * interdiff.c (interdiff): Don't fclose anything in this function since it is done in main. (index_patch2): Take note of @@ lines. (apply_patch): Likewise. (copy_residue): Don't free line every time round the loop. (copy_residue): Take note of @@ lines. * Makefile (TESTS): Add revert1 and gendiff2 to regression tests. * tests/revert1/run-test: New test. * tests/gendiff2/run-test: New test. * interdiff.c (index_patch2): Use best_name. (output_reverted): How did this ever work?! Be paranoid about @@ lines, and skip over the space in between the line numbers. 2000-07-31 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.5 (stable). 2000-07-31 Tim Waugh <twaugh@redhat.com> * interdiff.c (output_delta): Use -U0 instead of the (deprecated) -0 option. 2000-07-31 Jason Bucata <jbucata@earthlink.net> * interdiff.c (xstrdup): New function. (add_to_list): Use it. (add_line): Likewise. (output_reverted): Likewise. (interdiff): Likewise. (xstrndup): New function. (output_reverted): Use it. (interdiff): Likewise. 2000-07-31 Tim Waugh <twaugh@redhat.com> * Makefile (TESTS): Add gendiff1 to regression tests. * interdiff.c (output_reverted): Read the oldname line from p1 rather than by parameter. (num_pathname_components): New function. (best_name): New function. (interdiff): Work out the best name to use. Doesn't use Index: lines yet. * tests/gendiff1/run-test: New test. 2000-07-26 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.4 (stable). 2000-07-26 Tim Waugh <twaugh@redhat.com> * interdiff.1: Updated date. * interdiff.spec: Created. 2000-07-25 Tim Waugh <twaugh@redhat.com> * tests/linux-2.2.17-pre4-5/run-test: New test case. Needs to be distilled. * interdiff.c (output_reverted): Only display patch separator if -h is specified. (output_delta): Likewise. (copy_residue): Likewise. 2000-07-24 Tim Waugh <twaugh@redhat.com> (munge_diff_output): Avoid compile warning. (create_orig): Deal with broken patches (fixes tests/broken1.tar). 2000-07-24 Tim Waugh <twaugh@redhat.com> * interdiff.c (VERSION): Version 0.0.3 (stable). * Makefile (sure): Regression tests. * interdiff.c (munge_diff_output): New function. (output_delta): Find out if either patch removes the file. If not, call munge_diff_output to fix up the diff output. 2000-07-21 Tim Waugh <twaugh@redhat.com> * interdiff.c (output_delta): Use mkstemp to create temporary files. (apply_patch): Use PATCH. (output_delta): Use DIFF. (output_delta): Likewise. (DIFF): Define if not already defined. (PATCH): Likewise. (VERSION): Version 0.0.2 (stable). 2000-07-19 Tim Waugh <twaugh@redhat.com> * interdiff.c (output_delta): Remove redundant comment. (interdiff): Prevent false alarms. 2000-07-19 Tim Waugh <twaugh@redhat.com> * interdiff.c (copy_residue): Put patch delimiter in. (output_delta): Patch delimiter reflects options actually given to diff. (main): -h option turns on human-readability. (VERSION): Version 0.0.1 (stable).