如何将修订历史从mercurial或git导出到cvs?

时间:2009-02-25 02:37:02

标签: git mercurial export cvs git-cvs

我将与其他人一起使用来自使用cvs的项目的代码。我们希望使用分布式vcs来完成我们的工作,当我们完成或者每隔一段时间我们想要将我们的代码和所有修订历史记录提交给cvs。我们没有对项目的cvs repo的写访问权限,所以我们不能经常提交。我们可以使用什么工具将修订历史导出到cvs?目前我们正在考虑使用git或mercurial但我们可以使用另一个分布式vcs,如果它可以使导出更容易。

3 个答案:

答案 0 :(得分:239)

答案 1 :(得分:21)

您不应盲目信任 cvsimport 并检查导入的树是否与CVS repo中的匹配。我通过使用eclipse CVS插件共享新项目并发现存在不一致性来完成此操作。

使用相同的提交消息在不到一分钟内完成的两次提交(为了还原错误删除的文件)被分组为一个大提交,这导致树中缺少文件..

我能够通过将'fuzz'参数修改为不到一分钟来解决这个问题。

示例:

% git cvsimport -d $CVSROOT -C dir_to_create -r cvs -k \
  -A /path/to/authors/file cvs_module_to_checkout -z 15

底线:导入后检查您的树

答案 2 :(得分:3)

除了Brian Phillips的回答:还有git-cvsserver,其功能类似于CVS服务器,但实际上访问git存储库......但它有一些限制。