2017-06-04 84 views
1

我的目標是使用變更列表的時間間隔同步來自p4的存儲庫,以便將存儲庫的第一個更改列表版本視爲初始提交。 所以我用下面的命令:git p4同步更改間隔

git p4 clone //[email protected],cl2 

其中cl1cl2都提到變更表中的數字。

完成後,在cl1之前創建的文件不在HEAD中。

正如我所看到的,問題是在同步給定範圍內的更改之前,p4任務不會同步到cl1版本的回購,並將提交應用於空存儲庫。

這是一個錯誤或我對git p4應該如何工作的誤解?我該如何正確地做到這一點?

UPD:我需要更改列表時間間隔的原因是p4數據庫存在問題,並且我無法在過去的一個點之前簽出更改列表。我想遷移到所有可訪問歷史的git。

回答

0

我認爲,除了特殊導入只是頭修訂默認選項,@ cl1,cl2選項只導入更改列表,而不是更改列表中存儲庫的狀態。

我認爲你必須做@all來獲得完整的歷史。或者改變git-p4來做你想做的事。

0

我的目標是使用變更列表的時間間隔同步來自p4的存儲庫,以便存儲庫的第一個變更列表版本將被視爲初始提交。

當您第一次使用git-p4克隆存儲庫時,您從克隆的更改已被視爲初始提交。也就是,

git p4 clone //[email protected] 

本身應該做你想做的。

由於問題描述根本沒有提及cl2,因此您不清楚爲什麼要嘗試使用修訂範圍(cl1,cl2)。

+0

我還需要從我的存儲庫中'cl1'到'cl2'以來的所有歷史記錄,我認爲這很明顯。 p4數據庫存在問題,我無法在過去的一點之前簽出更改列表。我想遷移到所有可訪問歷史的git。 – goto1134

+0

@ goto1134你現在還不清楚。你的意思是你不能在'cl1'之前查看變化,但是從Perforce客戶端同步到'cl1'可以工作嗎?如果是這樣,那麼我給出的指示仍然應該起作用。你可以從'cl1'克隆git倉庫作爲一次提交,然後執行'git p4 sync @ cl2'。 (它仍然不是很明顯,你爲什麼關心'cl2',並且不能只是同步到Perforce'HEAD'。) – jamesdlin

+0

是的,你的假設是正確的,我可以檢查'cl1'並且不能檢出' cl1 - 1'。 是的,我需要同步到'頭',但我試圖描述一個一般情況下,它可能只是另一個更改列表。 – goto1134