2013-10-08 49 views
0

我在設置存儲庫的旋繞過程之後初始化子模塊的問題克隆裸回購初始化子模塊:失敗從一個rsync'd回購

  1. 克隆遠程裸回購與子模塊。
  2. 初始化並更新此回購中的子模塊。這裏一切都很酷。
  3. 通過克隆非裸露本地回購來創建本地裸回購。 (我說的令人費解的,是吧?)
  4. rsync的這個回購協議機X(不具有訪問原始遠程)
  5. 做一個非裸克隆機器X.
  6. 嘗試的rsync'd回購初始化並更新新回購的子模塊。

第六步的結果:

fatal: repository '/some/dir/foo.git' does not exist 

上層項目目錄克隆到/一些/ DIR /項目/。

該過程非常複雜,因爲:由於網絡限制,第1步非常慢並且機器X無法訪問原始存儲庫。因此,在這些約束條件下(如果有必要,我可以重新執行步驟1,也許可以直接創建本地裸倉庫),是否有可能實現我在此嘗試做的事情?

謝謝。

+0

'.gitmodules'比實際的規則更像你所說的「準則」。我的第一個嘗試是在每個子模塊的第6步回購中rsync子模塊回購到第4步機器「git config submodule.modulename.url url:// step-4/path/to/subrepo」並重試子模塊更新。 – jthill

+0

這是訣竅。我修改了您的建議,以便從主rsync'ed存儲庫創建子模塊repo的裸副本。 (因爲它遞歸地包含了所有的子模塊)然後將submodule.foo.url設置到這個位置允許我更新存儲庫。如果您想將您的評論推薦給答案,我會接受它。 –

回答

1

.gitmodules更像是你稱之爲「準則」而非實際的規則。

我的第一次嘗試是

  • 也rsync的子模塊回購到步驟-4機,和
  • 在步驟-6回購,對於每個子模塊,
    • git config submodule.modulename.url url://step-4/path/to/subrepo
  • 重試子模塊更新