如何在 Perforce 中重命名文件,然后使用第一个文件的旧名称添加另一个文件?

问题描述 投票:0回答:1

假设我有一个文件 A.txt。我想将其重命名为B.txt。我执行

p4 add A.txt
p4 rename A.txt B.txt

我现在想在同一个变更列表中添加一个new文件A.txt。

当我执行时

p4 add A.txt

我收到错误消息

A.txt - can't add (already opened for move/delete)
A.txt - warning: add of existing file

有没有解决方法可以实现我想要的行为。否则,我将继续将 A.txt 的原始内容复制到 B.txt 并修改 A.txt。

version-control perforce file-rename
1个回答
0
投票

Perforce 的数据模型(当前)不支持将删除文件和重新添加文件(逻辑上具有相同名称的不同文件)作为单个原子操作的单个修订的概念。修订版可以具有

add
delete
(在本例中为
move/delete
)的操作,但单个修订版不能具有
delete, then add
的操作;您需要两个连续的修订(在两个不同的变更列表中)来表示这两个操作。

如果可能的话,我建议将这一系列操作分成两个变更列表;正如您所描述的那样“挤压”它们将丢失 B.txt 实际上是 A.txt 的重命名变体的信息,并且如果您需要合并任一文件,您将在尝试合并到另一个文件时进行更改。 (如果您确定永远不需要合并这些文件,即它们没有分支到任何地方,并且没有其他人同时处理它们,那么这并不重要。)

© www.soinside.com 2019 - 2024. All rights reserved.