Now that Caja is out in the wild, and I can’t use Google’s internal development tools, I find quilt is coming in handy (why not mercurial queues? I’d prefer it, but the version I can easily install is too old, currently). But, surprisingly for a tool that was designed to assist in open source development, it turns out quilt is a bit weird about co-existing with version control systems.
The issue comes when you finally get approval for your patch and you commit it to the tree. At this point, you want to delete it from the patch series – but quilt won’t let you, because it is applied. If you pop it, then you’ll undo what you’ve just committed. So, what to do? Here’s my ad-hoc recipe
quilt pop -a
patch -p1 < patches/the-bottom-patch svn ci quilt delete the-bottom-patch
and there you are, done. You can even do this retroactively if you forgot to do it as you go along – just miss out the
svn ci step. Once you’re back up-to-date you should find that you are still in sync with the head of the tree (assuming no-one committed in the meantime).