为了导入CVS模块的修订版, 我正在使用:
/usr/lib/git-core/git-cvsimport -a -i -p r,revisionname -k -v -d :pserver:user@xxx.com:2401/srv/cvs/rootname modulename
它工作了一段时间然后我得到类似cvsps的错误。如何确定cvsps错误是什么?
答案 0 :(得分:3)
放弃这种方法并使用cvs2git
。
cvs2git
是一个可用于将CVS存储库迁移到较新版本控制工具(包括git)的工具。
样本用法:
cvs2git \
--blobfile=cvs2git-tmp/git-blob.dat \
--dumpfile=cvs2git-tmp/git-dump.dat \
--username=cvs2git \
/path/to/cvs/repo
答案 1 :(得分:2)
来自http://git-scm.com/docs/git-cvsimport
警告:git cvsimport使用cvsps版本2,该版本被认为已弃用;它不适用于cvsps版本3及更高版本。如果您正在执行CVS存储库的一次性导入,请考虑使用cvs2git或parsecvs。
检查您是否拥有cvsps版本3或更高版本
$ cvsps --version
如果你可以将它降级到cvsps版本2,那么你就完成了。
主要区别是cvs2git
不是增量的(使用this解决方法除外),因此它针对一次性结帐。使用cvsimport
,您可以执行增量更新,并及时了解cvs repo。
答案 2 :(得分:2)
您可以将其降级为cvsps-2.1
并重新测试,因为git cvsimport
与cvsps-3.x
无法正常工作,因为它的语法不同。
在OSX上你可以(有brew
):
brew tap homebrew/versions
brew install cvsps2
brew unlink cvsps
brew link --overwrite cvsps2
答案 3 :(得分:1)
首先尝试cvs-fast-export:
http://www.catb.org/esr/cvs-fast-export/
在某些奇怪的情况下,它将彻底失败。如果发生这种情况,请尝试cvs2git。您不希望先使用cvs2git,因为它非常慢,会以不方便的格式生成结果,不会转换cvsignore文件,并且还有其他一些小问题。
不要使用git-cvsimport或任何版本的cvsps-它们吸收得很糟,可能会放错分支连接的位置。我是负责cvsps-3.x发行的人;我对代码进行了深入的介绍,以支持后来成为cvs-fast-export的代码。