perforce - 在 Perforce 中解锁文件,获取未在该更改列表中打开的错误文件

标签 perforce

一个人更换了他的笔记本电脑并丢弃了这个强制客户端和工作区。他在变更列表中打开了 2 个文件,但不确定变更列表编号。

我拥有管理员权限并尝试解锁该文件,但未能成功

p4 -p p4ser:1001 unlock -f //doc/pascal/projmng/GP.xlsm

//doc/pascal/projmng/GP.xlsm - file(s) not opened in that changelist

然后我尝试通过搜索该用户打开的文件来查找更改列表

p4 -p p4ser:1001 opened -u joe | grep GP.xlsm

//doc/pascal/projmng/GP.xlsm#5 - edit default change (binary+l) by joe@joe_dt exclusive

我现在的客户名称为 joe_dt,并且能够使用更改找到更改列表

p4 -p p4ser:1001 changes //doc/pascal/projmng/GP.xlsm

Change 34784592 on 2015/05/28 by joe@joe_dt 'added POR stuf'

现在,如果我尝试解锁,我会收到相同的错误。

p4 -p p4ser:1001 unlock -c 34521298 -f //doc/pascal/projmng/GP.xlsm

//doc/pascal/projmng/GP.xlsm - file(s) not opened in that changelist.

所以现在我只有客户端名称,随着笔记本电脑的更换,该名称不存在。不知道用户 joe 在哪个更改列表中打开此文件。 Unlock -x 也没有帮助。

我是 Perforce 新手,你们能帮我解锁这个文件吗?

最佳答案

首先,执行此操作;它将使您不必继续输入“-p p4ser:1001”。 :)

p4 set P4PORT=p4ser:1001    

文件不是“锁定”,而是“以独占方式打开”——这是两种不同的状态,“解锁”仅处理“锁定”状态。

文件可以“打开”,但不能“锁定”,“解锁”将文件从“打开+锁定”变为“打开”。多个人可能同时“打开”一个文件,即使其中一个人“锁定”了该文件,但当其他人拥有锁定时,其他人都无法“提交”。

但是,具有“+l”文件类型的文件始终以独占方式打开,无论它是否“锁定”——一次只有一个人可以打开它。要释放此锁定,打开文件的用户需要“提交”或“恢复”它 - 他们无法像使用普通“锁定”一样在保持文件打开的同时释放锁定。对于管理员要在不删除客户端的情况下释放文件的情况,他们需要实际强制“还原”而不是简单的“解锁”。

但是由于 joe 已经放弃了这个客户端工作区,最简单的事情就是删除它:

p4 client -d -f joe_dt

这应该会导致之前在该客户端上打开的任何文件被放弃,无论它们是锁定的、独占的、两者都锁定还是两者都没有。

关于perforce - 在 Perforce 中解锁文件,获取未在该更改列表中打开的错误文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31579580/

相关文章:

Perforce:重命名仓库

GIT 和 Perforce : the branching strategy

perforce - 隐藏/阻止更改列表中修订的文件信息

visual-studio-2010 - Perforce 麻烦 "file not under client' s root”错误消息

perforce - 在 perforce 中集成移动的文件

perforce - p4 同步到备用位置

version-control - Hudson Perforce 插件 - 如何在不重复触发构建的情况下自动更新版本

perforce - 使用描述作为过滤器在 p4 中搜索标签

open-source - IntelliJ 社区 Perforce 插件

java - 从标签获取文件 - Perforce Java API