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.
Eli Zaretskii has Windows binaries for RCS as part of his ezwinports project at http://sourceforge.net/projects/ezwinports/files.
The README there describes the reason for the problem you describe.
If I recall correctly the port is unfortunately missing the "pseudo symlink" feature of the Purdue release. (A quick definition, so as to be self-contained: a pseudo symlink is a text file named "RCS", located in the same directory as the working file, and whose contents are a directory path, which is treated as a link to a directory containing the master file. Links allow multiple "working copies" to share a "repository".)