2016-06-09 30 views
2

我不想知道兩個VCS之間的差異,但我有一個CVS倉庫,一堆模塊和一個倉庫以及另一組等效子模塊。確定CVS/git的區別

對於每一個這些模塊的:我想建立兩個倉庫之間的每個文件的差異(或模塊/子模塊)

如果雙方Git和CVS共享列表內容完全一致這份名單應該是空的,但在其他情況下,我正在尋找與相應的增量的列表。一方發生了什麼變化,另一方面又發生了什麼變化?什麼文件被刪除...等

什麼是最好的方式來實現呢?

回答

1

如果每個子模塊的路徑是在CVS和git倉庫一樣的,你可以使用git --work-tree=... statusgit --work-tree=... diff快速查看的區別:

  • git的指數
  • CVS的路徑作爲一個git工作樹。

是這樣的:

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

參見git submodule foreach命令

foreach 

求值中的每個任意的外殼命令檢出子模塊。
該命令具有訪問變量$name$path$sha1$toplevel

$path相對於上層項目子模塊目錄

1
  1. 結帳git倉庫的名稱的文件夾一
  2. 結帳cvs repo到文件夾b
  3. 刪除文件夾中的所有文件a
  4. 複製從文件夾中的所有文件B到A
  5. git的差異
+1

這就是爲什麼我建議'的git - 共同努力樹=/...'方法:無需將文件從一個回購複製到另一個。 – VonC