将CVS存储库镜像到git存储库

时间:2012-08-18 21:04:22

标签: git cvs

我已经四处搜索了,我还没有明白最好的方法是什么:我想要克隆一个现有的CVS存储库(特别是OpenSSH portable)或者它的修订版(例如v6.0p1)一个git repo,用于应用个人补丁。我还希望在发布另一个稳定的OpenSSH时合并更改。它不必是实时的或任何特殊的,只是为了能够将我的补丁合并到新版本。

我之前有git(和SVN经验),但没有CVS经验。

1 个答案:

答案 0 :(得分:2)

您有两种选择:维护供应商分支或使用git cvsimport。你使用哪个取决于你想要多少历史以及你有多耐心。

如果您想要完整的历史记录并且有耐心,可以使用git cvsimport将整个CVS回购导入git。如果您有幸,您可能会发现其他人已经这样做并且保持结果是最新的 - 如果您信任他们,使用他们的回购是最好的选择。

如果您不需要完整的历史记录或者不耐烦,您可以维护供应商分支:这是我们在拥有DVCS之前所做的事情:)。获取当前版本的副本,将其放入名为“供应商”的分支机构中。并以此为基础开展工作。在下一个版本发布时,切换回供应商分支,更新它以匹配新版本和合并/ rebase。

请注意,虽然使用DVCS时需要较少的供应商分支,但实际上它们在使用Subversion方面要比使用Subversion更容易,因为git并不需要您识别重命名和(与svn一样)现在)当您解压缩最新版本时,不会在您的工作副本上留下元数据。