Git Quilt or Guilt for short
Here’s another update on my version control system escapades (a follow up to Do I have…).
As several people mentioned during the 0.10 release of gq, the name is already in use by a rather well established project. So, after some idleing and hacking, I decided that it was time to give the scripts a new name, and announce the new version on the git and linux-kernel mailing lists (the annoucement). I can’t take credit for the rather clever name, I asked a few people, and the best suggestion was by Dave - Git Quilt or Guilt for short.
One thing I did not expect was the fact that someone would contribute 2 patches very shortly after I announced it. Here’s the list of changes that made between v0.16 and v0.17:
Horst H. von Brand (2): Fix up Makefiles Run regression on the current version Josef 'Jeff' Sipek (24): A minimalistic makefile Contributing doc file Added guilt-add Added guilt-status Expanded the HOWTO Added usage strings to all commands All arguments to guilt-add are filenames More thorough argument checking & display usage string on failure Changed status file format to include the hash of the commit Fixed guilt-refresh doing an unnecessary and somewhat wrong pop&push Fixed up guilt-{delete,pop} not matching the patch name properly Fixed guilt-{delete,pop} regexps some more Force UTC as timezone for regression tests Fixed a bug in guilt-pop introduced by the status file format switch Error messages should go to stderr Merge branch 'usage' Merge branch 'status-file' Yet another TODO update Added guilt-rm Makefile update & cleanup pop: Display the name of the patch from the status file, not the series file new: Create dir structure for the patch if necessary Documentation/TODO: Mark guilt-rm as done Guilt v0.17
I haven’t had much time to work on Guilt since then, but I got an rather encouriging email from someone, who tried to apply Andrew Morton’s -mm patch series on top of the kernel tree, but failed. The problem is with the way git-apply works. If it applies a patch with an offset, it still returns non-zero status. This makes guilt think that at least one of the hunks in the patch did not apply at all. As far as I know, there is no way to get the necessary information out of git-apply without either modifying it (which I might as well), or parsing the output for signs of rejection and ignoring the return status completely. I don’t like the latter, but changing git-apply would limit the number of compatible git versions. :-/
Needless to say, patches are welcomed :)