[英]How to import CVS to git scm?
为了导入 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 错误是什么?
放弃了这种方法并使用了cvs2git
。
cvs2git
是一个工具,可用于将 CVS 存储库迁移到更新的版本控制工具,包括 git。
示例用法:
cvs2git \
--blobfile=cvs2git-tmp/git-blob.dat \
--dumpfile=cvs2git-tmp/git-dump.dat \
--username=cvs2git \
/path/to/cvs/repo
来自http://git-scm.com/docs/git-cvsimport
警告:git cvsimport 使用 cvsps 版本 2,它被认为是不推荐使用的; 它不适用于 cvsps 版本 3 及更高版本。 如果您正在执行 CVS 存储库的一次性导入,请考虑使用 cvs2git 或 parsecvs。
检查您是否有 cvsps 版本 3 或更高版本
$ cvsps --version
如果您可以将其降级到 cvsps 版本 2,那么您就完成了。
主要区别是cvs2git
不是增量的(除了使用这个解决方法),所以它的目标是一次性结账。 使用cvsimport
您可以进行增量更新,并保持最新的 cvs 存储库。
您可以将其降级到cvsps-2.1
并重新测试,因为git cvsimport
无法与cvsps-3.x
正常工作,因为它具有不同的语法。
在 OSX 上你可以(有brew
):
brew tap homebrew/versions
brew install cvsps2
brew unlink cvsps
brew link --overwrite cvsps2
首先尝试 cvs-fast-export:
http://www.catb.org/esr/cvs-fast-export/
在一些奇怪的情况下,它会彻底失败。 如果发生这种情况,请尝试 cvs2git。 您不想首先使用 cvs2git,因为它非常慢,生成格式不方便的结果,不转换 cvsignore 文件,并且还有其他几个小问题。
不要使用 git-cvsimport 或任何一个版本的 cvsps - 它们非常糟糕,并且可能会放错你的分支连接。 我是 cvsps-3.x 版本的负责人; 我对该代码进行了深度修改,以支持成为 cvs-fast-export 的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.