For the impatient:
My pine patches
FAQ on patching pine
I’ve written a number of patches for Pine, my email client. For a while, I ported them to new versions of Pine manually, which was very time consuming.
This shell script automates the task of porting patches between Pine versions. It doesn’t automatically resolve conflicts, but it does pretty much everything else. Upgrading Pine with patches has never been easier! (Uh, maybe.)
To use the script to port a patch (on *nix!), first unpack the new version’s source into your home directory. The script will look for an existing patch for the old version in ~/src/pine, and will write out the new patch to the same directory. For example, use this command line to port foo.patch.4.63 to Pine version 4.64:
./port_pine_patch.sh foo 4.63 4.64
Future versions will remove the hard-coded paths. For now, you can edit the variables at the top of the script to point to different paths.
port_pine_patch is copyright 2005 Ryan Barrett, and is distributed under the GPL.