我刚刚将Mac升级到了Catalina,而cvs似乎无法正常工作。我尝试的几乎每个命令都会为我提供错误的变体:
cvs [init aborted]: cannot get working directory: No such file or directory
这不仅适用于现有存储库,而且如果我尝试设置新的存储库或新的cvsroot(如上所述),都是如此。
我尝试通过Homebrew重新安装cvs,但问题仍然存在。
是否有人遇到这种情况?有人对解决方法有建议吗? (显然,我可以将这些东西转移到git或类似的东西上,但是它主要是遗留项目,因此我并不热衷于这项工作)
答案 0 :(得分:2)
cannot get working directory
在CVS源代码中只存在一个位置,因此很容易将其追溯到xgetcwd()
中。 xgetcwd()
最终调用了getcwd()
,但显然未使用Catalina中unistd.h
定义的版本,而是"getcwd.h"
中的它自己的版本,该版本包含在{{1}中}来源。
我没有时间来追踪它为什么在卡塔利娜飓风之前起作用,但是以下补丁迫使该问题产生并在10.15上为我工作。
CVS
答案 1 :(得分:2)
我对Homebrew的CVS也有同样的问题。 来自Macports的CVS为我解决了这个问题。
答案 2 :(得分:1)
如果您有自制软件:
brew remove cvs
brew install cvs
帮了我大忙。新的二进制文件将位于 / usr / local / bin / cvs 中,请确保调用该二进制文件而不是Catalina二进制文件(位于 / usr / bin / cvs )
仅仅输入“ brew update; brew upgrade”(操作系统升级后应该执行的操作)是不够的。
答案 3 :(得分:0)
作为一个临时解决方案,您可以使用Netbeans https://netbeans.org/projects/versioncontrol/downloads/中Java版本的cvs client命令。简单的脚本
#!/bin/bash
java -Dcvs.root=$CVSROOT -jar org-netbeans-lib-cvsclient.jar $@
的工作原理与原始cvs命令几乎完全相同。这不是最佳解决方案,但可以。