在Perforce P4V中,我有一个待处理的更改列表中的文件。我想还原文件的内容,但将文件保留在更改列表中。我怎么能这样做?
我尝试了Perforce的revert
命令,但是从更改列表中删除了该文件。
答案 0 :(得分:4)
实现此目的的唯一方法(将原始内容复制/粘贴回此文件,但这看起来很愚蠢)是恢复并重新打开它。搁置本身并不会还原文件。 “搁置和还原”的概念仍然是两个操作。
答案 1 :(得分:3)
其他受访者指出,这是不可能的。
如果您对多步骤解决方案没问题,可以
您的文件现在没有任何更改,并且会在同一个更改列表中签出。
答案 2 :(得分:3)
使用命令行,可以分三个阶段完成。如果您使用的是Windows,我强烈建议使用unix环境,例如: cygwin(我使用过的那个。)
假设您的更改列表编号是XYZ,并且您已将文件搁置在其当前版本中(仅仅是为了它!)
步骤1:获取文件列表并将其放入临时文件中。
p4 describe XYZ | grep \/\/ | sed -e 's/\.\.\. //'| sed 's/#.*//' > temp
第2步:还原更改列表中的所有文件
p4 revert -c XYZ //...
第3步:再次签出/编辑文件
cat temp | xargs p4 edit -c XYZ
我假设所有文件都处于编辑模式(即不是已打开的文件或已删除的文件)。
PS:删除临时,如果你挑剔:)
答案 3 :(得分:1)
我不相信即使从命令行也可以这样做,因为p4 sync
(即使-f
)明确排除了对打开文件的操作。
答案 4 :(得分:-1)
您正在寻找的功能是shelving。这将恢复文件,但在变更列表中保留一个搁置版本,您(或其他客户端上的其他人)可以在以后取消搁置。