I'm using GNU RCS version 5.7 for Windows from the official Purdue RCS homepage. If I use the rcsmerge(1) command to merge changes from different branches, I get an error:
diff3.exe: subsidiary program failed
every time. Does anyone know why this should happen (and I have seen this problem discussed at least 10 years ago) and what the fix is? Does the GNU current RCS release 5.8.1 fix it? If so, can anyone point me to Windows binaries for this release?
UPDATE 2012-10-22: I have switched the diifutils(cmp, diff, diff3, merge) supplied with the Purdue distribution for the equivalents from the current GNU diffutils 2.8.7. This gets rid of the subsidiary program failed errors, but now gives me The filename, directory name, or volume label syntax is incorrect. exactly twice for each invocation of rcsmerge or diff3. This seems to be a Windows error message.
It looks as if you're missing the
diff3.exebinary from your%PATH%. And while it seems that the Purdue packages provide source code for diff3, they don't provide you with a Win32 binary.If you've already installed
diff3.exefrom some other source, update your path to include its install location, or (less ideally) move thediff3.exebinary to a folder already named in your path.If you haven't installed it, you can probably get it from the (ancient) UnxUtils project at SourceForge, or the DiffUtils project.