2012-02-16 53 views
22

我想知道是否有任何方法將在/ main /上創建編輯的Changelist移動​​到分支/ dev /分支上?Perforce - 將擱置的更改列表從主要移動到分支?

我有六個這樣的變更列表中有很多文件。我擱置了所有文件,並希望將它們移動到分支以繼續在那裏工作。如果可能,我寧願直接在P4V中執行此操作。

我使用P4V 2011.1與2010.2 P4服務器。

+0

相關問題:http://stackoverflow.com/questions/300160/can-i-integrate-checked-out-files-into-一,不同的分支上,Perforce公司。 – gdw2 2013-02-19 19:58:19

回答

1

我相信你可以右鍵點擊一個已編輯的文件並選擇Rename/Move...

如果這不起作用,您可能必須使用命令行並執行p4 move -f old_file new_file並移至其他分支。

注意:對於它的價值,這適用於分支,但不適用於流。

+1

不幸的是,當我嘗試將文件移動到分支用這種方法,我得到一個「已存在於庫」的錯誤。 – 2012-02-16 19:39:23

+0

@MartinSchulze,這就是我所害怕的。在命令行中,這是'-f'進來的地方,但不知道在p4v中是否有辦法做到這一點。 – Chance 2012-02-16 19:59:41

0

我還沒有嘗試過這個自己,但我想這應該是可能的:

  1. 你的客戶轉到包含映射目標分支
  2. 選擇待定變更表和取消擱置其工作區(或呼叫p4 unshelve -s <number>從命令行

從P4手冊:

A successful unshelve operation places the shelved files on the user's 
workspace with the same open action and pending integration history as 
if it had originated from that user and client. 
+2

不幸的是擱置文件是針對軟件倉庫路徑存儲的,而不是工作區路徑。因此,即使您使用不同的分支切換到新的工作空間,當您取消擱置時,P4也會嘗試檢出針對main的文件。 – 2012-05-18 15:24:28

-1
  1. 提交上/main/
  2. 變更表集成到/dev/branch/
  3. 回滾或回退對/main/

這允許您解決衝突,如果有任何變更列表。 缺點是退出/main/更改列表,這不是很漂亮。

+0

如果你回去上主要的變化,也不會扭轉這種整合的歷史?也就是說,你可以預料,會有對尚未在主支未集成的變化,但是從Perforce公司的角度來看,也有在主尚未成爲在分支機構未整合的變化。 – 2013-04-02 18:10:14

+0

由於上述原因,我給了-1。我實際上已經嘗試過這一點,它可能會導致意外的行爲。當你整合回主體時,變化將不會在那裏。 – Ykok 2015-07-14 09:34:42

18

從Perforce 2013.1開始,您可以在一個分支中擱置文件,並將其擱置到另一個分支中,並使用分支規範或流作爲映射。

這裏是the documentation,它描述了新的-b-S選項。

+0

你可以帶來和示例如何使用-b?該文檔只說使用-b標誌!我一直在努力的若干變化和它不工作,說不明分支「的/ dev /分支」 – Shervin 2016-01-06 21:16:36

+2

發現了它。爲了記錄,-b應該被賦予分支從擱置分支映射到我們希望更改列表未被擱置的分支。以下是如何創建一個映射:http://www.perforce.com/perforce/doc.current/manuals/p4v/Managing_branch_specifications.html – Shervin 2016-01-06 21:39:37

+0

@Shervin死鏈接:-( – user234461 2018-03-06 15:57:27

0

您也可以使用「p4 move -f/main/.../dev/branch/...」來完成此操作。

  1. 確保唯一可編輯的文件,你必須在/主/ ...你想要移動的人。在任何其他更改列表中擱置和還原文件
  2. 命令行:「p4 move -f/main/.../dev/branch/...」
  3. 變更集中的文件現在位於/ dev /作爲需要解決
  4. 解決每個文件就像你將一個普通的衝突
相關問題