取消搁置在Perforce / P4中专门签出的文件

时间:2018-07-06 03:00:14

标签: locking perforce unshelve shelving

Perforce noob在这里-我在一个架子上有一个文件,我不想让它运行一些东西,但是该文件是专门在另一台计算机上签出的。理想情况下,我要在本地取消搁置文件,做一些事情,然后放弃我的本地更改。

我考虑使用cellNamep4 print,但它们似乎无法按要求工作-例如复制似乎是在软件仓库路径之间复制文件。

我该如何搁置并忽略该锁?另外,如何从书架上下载文件以在本地覆盖它?

1 个答案:

答案 0 :(得分:4)

两个选项:

  1. 使用p4 print FILE@=SHELF获取文件的内容。这对于一个文件非常简单,但是对于多个文件却很烦人。

  2. 创建一个新的分支/流,并在此处将其搁置;独占锁不是跨分支的全局锁,因此您可以在自己的分支中做任何您想做的事情。

使用流选项2如下:

p4 switch -c my-new-stream
p4 unshelve -S my-new-stream -s SHELF

使用手动分支规范,它看起来更像(假设您的客户端映射了所有内容,如果没有,则还有一个额外的步骤将新分支添加到您的客户端映射中):

p4 branch my-new-branch
(fill in a view mapping the current branch to your new branch)
p4 copy -b my-new-branch
p4 submit
p4 unshelve -b my-new-branch -s SHELF