干净地同步到另一个 perforce 标签

sync cleanly to another perforce label

TL;DR:如何将现有的 p4 工作区同步到新标签,以便撤消我之前的所有更改,并且与新同步一样好?

嗨, 我有一个同步到标签 L1 的 perforce 工作区。

  1. 我added/deleted/edited几个文件
  2. 我在文件夹中移动了几个文件 (mv a.txt b.txt new_folder/)

我想立即将此工作区完全同步到标签 L2。

我已经删除了所有搁置和待定的更改列表,然后尝试了

p4 reconcile -w ... && p4 revert -w ... && p4 sync ...@L2

看起来它几乎可以工作,除了我移动到新文件夹中的文件没有同步(尽管 p4 sync -f 工作)。但是我不想在整个工作区上使用 p4 sync -f,因为它也会重新同步未更改的文件。

很抱歉,如果这个问题之前有人回答过,我对 perforce 还很陌生,所以可能找不到要搜索的正确术语。

...路径限制每次操作的范围为当前目录;如果您 运行 这些命令来自与您将文件移动到的目录不同的目录,这可能就是它们没有同步的原因。我会这样做:

p4 revert //...
p4 clean //...
p4 sync @L2