For a long time (since at least 2001), I’ve been using a Perl script I wrote called called Patch Maker to manage and keep distinct multiple overlapping patches to the same source tree. I believe that programs like quilt and mq now do very similar things, but I’m happily still using mine. In case anyone else is, here is version 3.1, with improved support for SVN, and new support for Hg and bzr. (I say “new”, although I’ve been using it for a couple of years already.)
Patch Maker automatically detects which SCM a given tree is using, and abstracts away (most of) the differences. Given that the Mozilla project uses four publicly and another two inside IT, this is handy.