我们最近将CVS存储库迁移到了Git。
在我们的CVS存储库中,我们有一些代码,其中包含我们在开发完成后隐藏起来的代码,直到我们有时间在稍后的时间安排它们。
当我们使用CVS2Git进行迁移时,它导致分支被转移到Git仓库,但它的工作方式是只有在CVS中实际分支的文件出现在Git分支中。
例如,如果我们在HEAD上的CVS中有以下文件/文件夹树:
lib
-com
-example
-folder1
-file1a
-file1b
-folder2
-file2a
-file2b
然后我们只分析" file1a"和" file2b" CVS中BRANCH_COOL_FEATURE分支上的文件,结果为" BRANCH_COOL_FEATURE" Git中的分支只包含" file1a"和" file2b"文件。
我正在寻找最简单的方法来识别我想要合并的CVS分支中涉及的所有文件,包括它们在CVS中分支的位置,因此我确切地知道哪个差异合并,然后自动进行合并。
这是我迄今为止所做的最好的,但我希望有更好的方法:
1)MASTER和BRANCH_COOL_FEATURE上的git diff --name-status,将diff-filter设置为M以识别分支中实际修改的所有文件,或者只获取分支中的完整文件列表 2)对于每个文件,查看CVS历史记录并关联时间戳以标识该文件的两个生成的Git提交,这些提交表示要合并的差异 3)在该特定文件上运行git merge,并将两个提交指定为要在
中合并的diff感谢任何帮助,谢谢!
-Git newbie
P.S。我没有关于如何运行实际CVS2Git转换的大量细节,但如果它非常重要,我可能会抓住它。
有没有办法轻松