2013-08-16 28 views
0

假設我有一個名爲「version-1.0」的文件//depot/Project/com/company/project/SomeClass.java .0" 。突然間我需要恢復到該標籤來創建一個bug修復版本。我更新到它,然後修改SomeClass.java。如何提交Perforce中標籤中的源文件的新版本

現在這是我不明白的部分。如何將固定的SomeClass.java提交給Perforce而不覆蓋源代碼樹的任何較新版本?使用Mercurial或Git我會有一個擁有固定源代碼的分支,我會從那裏創建bug修復版本。但是現在我不知道應該把固定文件放在哪裏。

回答

1

您在Perforce中的選擇與您在其他系統中的選擇基本相同,但術語有所不同。

簡單的解決方法是將您的改變改爲SomeClass.java,然後創建一個名爲「version-1.0.1」的新標籤,它標記新版本的SomeClass.java而不是舊標籤,但除此之外是相同的版本1.0.1標籤:

p4 sync //[email protected] 
p4 edit SomeClass.java 
p4 submit -d Fixed_that_nasty_bug 
p4 label version-1.0.1 
p4 labelsync -l version-1.0.1 

或者,你也可以做一個分支在Perforce中,你可以用你的標籤作爲使該分支的基礎。

所以,你可以這樣做:

p4 integrate //depot/Project/[email protected] //depot/rel-1.0.1/Project/... 

然後你就可以讓你改變//depot/rel-1.0.1/Project/.../SomeClass.java,並提交回rel-1.0.1分支。

如果這是你第一次想這樣的事情的發展分支,發佈分支,等等,我可以建議具有http://www.perforce.com/perforce/conferences/us/2005/presentations/Wingerd.pdf讀取或拿起勞拉Wingerd的實用的Perforce副本和閱讀上篇「的主線模型「?

相關問題