Last week I released patchutils-0.4.3, the first release since 2020. A fair number of pull requests and issues had accumulated since I’d last been paying attention to this project, so 0.4.3 contains quite a few fixes and improvements.
As well as several bug fixes there are also new command line options.
- An
--in-place
option for several tools, to allow editing likesed -i
. - Interdiff has a
--color
option now - Filterdiff’s
--as-numbered-lines
option has two additional values:original-before
andoriginal-after
. This enables things like showing exact line numbers in CI/CD workflows.
There’s also a behaviour improvement for the -p/--strip-match
option in interdiff/combinediff, which I believe is backwards-compatible enough for a stable release. The change is actually about when this option isn’t given, since the behaviour is the same when it is. But now when it is not provided a sensible value for -p is chosen automatically.
Cross-platform compatibility is improved now that I’ve incorporated proper gnulib support.
I’ve made some development improvements in the code repository such as fixing CI testing and getting code coverage reporting working.
What’s next? I plan to release 0.4.4 pretty soon, partly to address a build issue for some versions of GCC but mainly because I’m keen for people to try the greatly enhanced support for the diff format produced by git in the filterdiff/lsdiff/grepdiff tools.
This makes proper use of the extended diff headers git produces, but with a command line option to control backwards compatibility: --git-prefixes
defaults to keep
, which is the historical behaviour. The default git diff output uses “a/” and “b/” as filename prefixes for the source and destination files, like:
diff –git a/README.md b/README.md
So the default of --git-prefixes=keep
uses those filenames as-is.
The other value, --git-prefixes=strip
, makes much better sense as a default (so the filenames are the actual on-disk filenames, eg README.md). But because it’s a change in behaviour I’d like to release a 0.5.0 release before too long which defaults to this better handling.
Leave a Reply