2

我被要求将文件的扩展名更改为另一个,例如:

文件.a --> 文件.b

我做的事情(错误)是这样的:

  cp file.a file.b
  p4 add file.b
  p4 delete file.a

然后提交到我的分支。问题是我的团队希望将 file.a 的历史记录保留在 file.b 上。直到现在我才知道p4 move,所以我搞砸了。

如果我回滚我的更改并执行 p4 move file.a file.b,当我集成到主分支时,它的历史上仍然会出现“删除问题”,对吗?

有没有办法从主分支恢复第一个 file.a 并用它替换 file.b ?(然后做 p4 移动)

非常感谢你们。

PS:我是使用 p4 的新手

4

1 回答 1

3

例如,我假设 file.a#4 是它被删除之前的最后一个版本。我还假设您使用的是相当最新的 p4d 版本...

首先,撤消之前的更改。

p4 sync file.a#4
p4 add file.a
p4 delete file.b
p4 submit -d "undo previous change"

请注意,当您通过首先同步到旧版本来重新添加文件时,历史记录会保留一个集成指针,显示新的“添加”版本已连接到旧版本(如果您运行“p4 filelog file.一个”)。当您集成回主分支时,这将使事情变得更顺利,因为否则它看起来像 file.a 是一个全新的文件。

现在 file.a 又回来了(并且仍然通过集成历史连接到主分支),并且 file.b 被删除,您可以毫无障碍地将 file.a “移动”到 file.b:

p4 edit file.a
p4 move file.a file.b
p4 submit -d "moving .a to .b"

现在,当您集成回主分支并运行“p4 resolve”时,主线上将发生相同的“移动”,如果主线上的 file.a 发生任何其他更改,它们将与您的文件合并。 b 重命名(而不是您之前可能遇到的情况,file.a 删除与其他更改冲突,而您的“新”file.b 只是想作为独立文件分支)。

于 2015-08-14T03:21:58.587 回答