Releases: twaugh/patchutils
0.4.4
Enhanced Git diff format support in filterdiff/lsdiff/grepdiff. Improved handling of Git diffs without traditional hunks, including proper support for file renames, binary file changes, and permission mode changes. Fixed exclusion filtering (-x) for multi-file Git diffs to prevent orphaned headers. Enhanced filename extraction to properly strip Git's a/ and b/ prefixes for consistent output. Added --git-prefixes=strip|keep option to control handling of Git filename prefixes, with 'keep' as default for backward compatibility (will change to 'strip' in version 0.5.0). Addresses GitHub issues #22, #27, #59, and #68.
Fixed interdiff --color option handling and improved color output. Replaced external diff --color dependency with internal ANSI color codes. Addresses GitHub issue #119.
Code improvements and build system enhancements. Added redirectfd() utility function to redirect stdout without reassignment. Enhanced CI testing with musl support for better compatibility testing. Fixed bash completion symlinks for better installation. Made grepdiff test case PCRE-aware to handle different regex library configurations properly. Addresses GitHub issues #61, #91, and #93. Updated spec file.
Added manual pages for gitdiff, gitdiffview, svndiff, and svndiffview commands. Addresses GitHub issue #112.
Updated bash completions.
0.4.3
Added --in-place option to more tools for editing files in place. Added --color option to interdiff with automatic terminal detection. Improved PCRE2 support and fixed various build issues. Added support for CRLF line endings in patch files. Fixed interdiff to reverse line counts correctly when reversing patches. Added bash completions and improved CI testing. Various bug fixes including use-after-free warnings, unused result warnings, and locale-related test failures. Updated documentation and example spec file.
Added new --as-numbered-lines options: original-before and original-after. These preserve original line numbers from the diff context, useful for CI/CD systems that need to report errors on exact line numbers from the original diff. Addresses GitHub issue #55.
Fixed rediff to preserve diff command headers in multi-file patches. Previously, rediff would remove "diff -rpU 3" command lines when processing patches with multiple files, breaking the patch format. Addresses GitHub issue #48.
Fixed recountdiff corruption of new file headers when git signature lines are present. Previously, recountdiff would incorrectly change "@@ -0,0 +1,N @@" to "@@ -1 +1,N @@" for new files in patches containing git signature lines (e.g., "-- \n2.50.1"), causing patch application to fail. Addresses GitHub issue #49.
0.4.2
0.4.0
0.3.4
Some fixes for filterdiff and rediff. The splitdiff utility now has an option to write output to a subdirectory. Ranges can now be prefixed by a modifier ('x') to exclude spans instead of include them. Extended headers produced by git are now handled by filterdiff and interdiff.