Perforce - 将搁置的Changelist从main移动到分支?

时间:2012-02-16 17:20:10

标签: branch perforce shelving

我想知道是否有办法将在/ main /上编辑的Changelist移动​​到分支/ dev / branch?

我有六个这样的变更列表,其中包含大量文件。我搁置了所有文件,并希望将它们移动到分支机构以继续在那里工作。如果可能的话,我宁愿直接在P4V中这样做。

我正在使用P4V 2011.1和2010.2 P4服务器。

5 个答案:

答案 0 :(得分:19)

从Perforce 2013.1开始,您可以将文件搁置在一个分支中,并使用分支规范或流作为映射将其取消搁置到另一个分支中。

以下是the documentation,其中介绍了新的-b-S选项。

答案 1 :(得分:1)

我相信您可以右键点击已修改的文件,然后选择Rename/Move...

如果这不起作用,您可能必须使用命令行并执行p4 move -f old_file new_file并转移到另一个分支。

注意:对于它的价值,这适用于分支但不适用于流。

答案 2 :(得分:0)

我自己没试过,但我想这应该是可能的:

  1. 将您的客户端更改为包含目标分支的映射的工作区
  2. 选择待定更改列表并取消保留(或从命令行调用p4 unshelve -s <number>
  3. 从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.
    

答案 3 :(得分:0)

您也可以使用&#34; p4 move -f / main / ... /dev/branch /..."实现这一目标。

  1. 确保/ main / ...中唯一可编辑的文件是您要移动的文件。搁置并还原任何其他更改列表中的文件
  2. 命令行:&#34; p4 move -f / main / ... / dev / branch /...&# 34;
  3. 变更集中的文件现在在/ dev / branch上标记为需要解决
  4. 像解决普通冲突一样解决每个文件

答案 4 :(得分:-1)

  1. /main/
  2. 上提交
  3. 将更改列表集成到/dev/branch/
  4. /main/
  5. 上回滚或撤消更改列表

    这允许您解决冲突(如果有)。 缺点是退出/main/上的变更列表并不漂亮。