我成功地将其转换并导入到git中,这是一个8年前的CVS主树,其中包含单个CVS项目。我正在尝试弄清楚cvs2git转换对各个CVS存储库造成了什么影响。
幸运的是,我仍然拥有主CVS树,并且没有部署任何东西,因此我可以再次执行此操作。我正在寻找可以让我探索转换的内容的git命令,这样我就可以判断我是否应该单独转换每个CVS存储库。
发布于 2012-08-21 22:26:38
您可以通过对您的某个子项目发出git log来验证cvs2git做了什么:
git log -- <directory>如果该命令返回完整的历史记录,cvs2git会将您的所有子项目合并为一个。根据你的评论,这看起来是这样的。
您现在有一个选择:拆分repo还是保持它的组合?这并不总是一个明确的决定,而且CVS中拆分repo的动机与git中的不同。
我建议您尝试新的git存储库几周,不要将其拆分为子模块、子树或嵌套存储库。这将使您熟悉常见的git命令,并让您尝试一些很好的git功能,如git bisect,这些功能在嵌套项目时更难使用。此外,我怀疑您会发现,与CVS相比,分支尤其是合并非常容易。可能的情况是,您根本不需要拆分存储库。
如果你决定这样做,给一些other answers on the topic读一下。拆分repo本身很容易。这是来自github的simple tutorial。在谷歌上快速搜索一下,会发现更多。
发布于 2012-08-31 22:18:42
我刚刚使用cvs2git转换了一个8年前的CVS存储库。我发现在结果存储库中使用"gitk --all“让我很好地掌握了转换是如何进行的。所以,我向你推荐这个命令。
然而,我并没有将整个CVS代码库转换成一个单独的Git代码库。作为您的,我的CVS代码库中实际上有几个不同的项目。每个项目都在不同的目录中。因此,我执行了几次转换,每个项目一个。您只需将cvs2git指向您感兴趣的CVS repo的特定子目录。它会将目录历史记录转换为Git存储库。因此,我最终得到了几个Git repos,每个项目一个,这给了我更好的每个存储库的历史记录。我建议您也尝试这种方法。
https://stackoverflow.com/questions/12042882
复制相似问题