本文介绍了Windows 上的 RCS - rcsmerge 总是失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是来自官方 Purdue RCS 主页的 Windows 版 GNU RCS 5.7 版.如果我使用 rcsmerge(1) 命令合并来自不同分支的更改,则会出现错误:

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

每次.有谁知道为什么会发生这种情况(我至少在 10 年前就看到过这个问题的讨论)以及解决方法是什么?GNU 当前 RCS 版本 5.8.1 是否修复了它?如果是这样,谁能指出我此版本的 Windows 二进制文件?

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?

更新 2012-10-22:我已将 Purdue 发行版提供的 diifutils(cmp, diff, diff3, merge) 切换为当前 GNU diffutils 2.8.7 的等效项.这摆脱了 subsidiary program failed 错误,但现在给我 文件名、目录名或卷标语法不正确. 每次调用 rcsmerge 或 diff3 时准确两次.这似乎是一条 Windows 错误消息.

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 在 http://sourceforge.net/projects/ezwinports/files.

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.

RCS-5.7-1:这是官方 RCS v5.7.13 源到 MS-Windows 的端口.我这样做是因为现有的 GnuWin32 端口被破坏了:任何需要将另一个程序作为子进程运行的 RCS 命令(例如,rcsdiff)都会由于 Windows 版本的 spawn 中未处理的问题而崩溃或产生错误消息*库函数.

如果我没记错的话,该端口很遗憾缺少 Purdue 版本的伪符号链接"功能.(快速定义,以便自包含:伪符号链接是一个名为RCS"的文本文件,与工作文件位于同一目录中,其内容是一个目录路径,它被视为指向包含主文件的目录.链接允许多个工作副本"共享一个存储库".)

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".)

这篇关于Windows 上的 RCS - rcsmerge 总是失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 08:56