我們有一個git回購(遠程託管在github - 可以稱之爲客戶端回購)與超過210個目錄在根目錄。我們有210多臺Windows服務器,每臺服務器都需要這些根目錄中的一個,並且不需要其他的。太多目錄在工作副本後Git稀疏簽出
所以我們登錄到一臺服務器,並使用1.8.1.msysgit.1
- 克隆的客戶從Git的樞紐回購上稀疏檢出
- 打開
- 更新稀疏與-checkout文件單*目錄/ *,我們希望在這個服務器的工作拷貝
- 執行我們讀樹操作
以及10次中的9次一切正常,出工作副本包含我們期望的單個目錄。
但是,每過一段時間,它都不會像預期的那樣工作,我們還會得到一小部分其他目錄流向工作副本。它從來沒有完整的210+,但會在6-10個其他目錄之間。這些目錄不匹配所需目錄的模式,也沒有匹配所述模式的任何子目錄。
一旦發生這種情況,我們從未能夠解決本地回購問題。我們曾嘗試:
- 各種復位
- 各種讀樹
- 禁用/重新啓用稀疏結帳
- 檢查日誌,看看是否有任何奇怪的事情
最終,我們通常最終會刪除本地回購,然後再次執行相同的步驟,並且只是第二次運作。
我們還沒有找到一種方法可靠地重現問題,除了克隆,重複設置稀疏結帳等。在這20次左右的時間裏,它只發生過一次非Windows機器(我們有一臺運行git v1.8.1.5的ubuntu服務器,兩週前顯示了相同的問題)。
我的Google-Fu在這方面很薄弱。我希望能夠深入瞭解爲什麼會發生這種情況,以及任何可能的解決方法,這些解決方案不會讓我們刪除回購站並對其進行重新克隆。提前致謝!
那麼,目錄確實是空的。但是,我發現了一臺服務器,可以在今天早上可靠地重新創建問題。我會克隆回購,啓用稀疏結帳,編輯稀疏結帳文件,然後讀取樹多... 但是,多次我做了它,我經常得到一套不同的剩餘(現在我意識到**空** - 我認爲僅僅假設目錄中有文件是不明智的。)留下的目錄。 – bubba 2013-03-25 18:14:42
看來,這確實是問題的核心,與移除文件時的Windows權限相結合。我會接受這個答案,謝謝! – bubba 2013-03-26 20:10:20