我們有一些開發人員推動服務器上的遠程裸回購,並希望做一些類似於自動推送的操作,以便在該中央裸回購中使用git p4進行夜間執行。但是我遇到了一個障礙,因爲它似乎無法在工作樹之外運行git p4提交。git p4從裸倉庫提交?
建議如何處理這種情況?
我們有一些開發人員推動服務器上的遠程裸回購,並希望做一些類似於自動推送的操作,以便在該中央裸回購中使用git p4進行夜間執行。但是我遇到了一個障礙,因爲它似乎無法在工作樹之外運行git p4提交。git p4從裸倉庫提交?
建議如何處理這種情況?
我對每隔幾分鐘運行一次腳本做類似的事情,並在git和p4之間進行雙向同步。但是如果沒有檢出的git樹和p4回購庫,git-p4就無法工作。在所有你結束了3個版本的源:
開發人員使用名爲'dev'的分支推送到裸Git回購(在gitolite上)。然後,每隔幾分鐘,還有,做一個腳本:
Gotchas
合併衝突。這些實際上很少發生,但可能會導致一些問題。 (1)和(5)之間的變化,我不得不在整個事情上添加一些鎖定,以便開發人員不會丟失更改。鎖定只是創建一個鎖定目錄,然後在其中一個鉤子腳本中使用它來延遲推送。
RCS關鍵字。較新版本的'git p4'現在可以處理RCS關鍵字,但最初並沒有,所以整個事情偶爾會因爲合併衝突而卡住。
設置過程需要一段時間,但現在已經進行了18個月,100多名開發人員的事件很少。
它可能是最簡單的不使用git-p4,但只是有一個結帳的git樹,這也是一個強制結帳,並從那裏腳本的一切? 即做一個git拉,分析輸出編輯適當的文件,添加新的,刪除刪除的,然後提交到perforce?
嗨盧克,thx在這看起來很有希望。我會嘗試一下,讓你知道它是如何發生的。 – ruedaminute 2012-07-13 14:59:06