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 :)