ok, so here are a few scripts which might help some people. for each script you want to be in the parent of the cvstree.
patch2cvs -- reads through patchfile and checks out all of the files it patches based on CVS info.
patch2cvs patchfile
mergePcvs -- like patch2cvs but it checks out the files at the revision the patch specifies (sticky), this allows you to safely apply the patch and then update so that cvs will try to do the merge.
mergePcvs patchfile
mxr2cvs -- takes output from mxr/search and checks out the files listed. (the following example isn't really tested, I always just copy the text selection from a url such as the one below and paste it after running mxr2cvs.)
mxr2cvs mozilla/webtools/bugzilla < lynx -dump 'http://mxr-test.landfill.bugzilla.org/bugzilla/search?string=\]mail&filter=terms.[Bb]ug'
pdir patchfile -- this tells you what directory you want to be in to apply the cvs diff patchfile.
patch -d `pdir patchfile` < patchfile
gpatch2cvs -- reads through patchfile and checks out all of the files it patches based on the +++ line (this is only needed when people use tree diffs instead of cvs diffs).
gpatch2cvs patchfile
cd /tmp mkdir 249912; cp -R bonsai/CVS/ 249912; cd 249912 wget -Oa 'http://bugzilla.mozilla.org/attachment.cgi?id=152361&action=view' mergePcvs.pl a ; patch -d `pdir.pl a` -p0 < a ; cvs up -A cvs commit `cvsu --types=MGAR --find`
If you don't yet have a bonsai/CVS/ directory, then you can download the 4 files or an archive of the files.
You might use:
|perl -pe 's/^..//'
-- If you haven't read cvsu's help.
So windows nt supports hard links, and i'm running low on disk space so I've replaced my nsinstall.exe with an nsinstall.exe that supports hard links (thanks to sid0 it now runs on Vista). It also renames files that are in use so that a build can continue even if you're using the output files. The patch I used to create this more aggressive installer. This app seems to work on w9x too.