确定CVS / git差异

时间:2016-06-09 07:23:30

标签: git cvs

我不想知道两个VCS之间的差异,但我有一个带有一堆模块的CVS存储库和一个带有另一组等效子模块的git存储库。

对于每个模块:我想构建两个存储库(或模块/子模块)之间每个文件的差异列表

如果git和CVS共享完全相同的内容,则该列表应为空,但在其他情况下,我正在寻找具有相应增量的列表。一方面改变了什么,另一方改变了什么?删除了哪些文件...等等

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

如果CVS和git repo中每个子模块的路径相同,您可以使用git --work-tree=... statusgit --work-tree=... diff快速查看以下区别:

  • git index
  • 用作git工作树的CVS路径。

类似的东西:

git submodule foreach 'git --work-tree=/path/to/cvs/repo/$path diff`

请参阅git submodule foreach命令

foreach
  

在每个签出的子模块中计算任意shell命令   该命令可以访问变量$name$path$sha1$toplevel

     

$path是相对于超级项目

的子模块目录的名称

答案 1 :(得分:1)

  1. 结帐git repo到文件夹a
  2. checkout cvs repo to folder b
  3. 删除文件夹a
  4. 中的所有文件
  5. 将文件夹b中的所有文件复制到
  6. git diff