一个人改变他的笔记本电脑并丢弃这个perforce客户端和工作区。他在变更清单中打开了2个文件,但对变更清单编号不确定。
我拥有管理员权限并尝试解锁该文件但无法执行此操作
p4 -p p4ser:1001 unlock -f //doc/pascal/projmng/GP.xlsm
// doc / pascal / projmng / GP.xlsm - 未在该更改列表中打开的文件
然后我尝试通过搜索该用户打开的文件找到更改列表
p4 -p p4ser:1001打开-u joe | grep GP.xlsm
// doc / pascal / projmng / GP.xlsm#5 - 编辑默认更改(二进制+ l)由joe @ joe_dt 独占
我的客户名称现在为 joe_dt ,并且能够使用更改找到更改列表
p4 -p p4ser:1001更改//doc/pascal/projmng/GP.xlsm
由joe @ joe_dt于2015/05/28更改34784592'添加了POR stuf'
现在,如果我尝试解锁,我会收到同样的错误。
p4 -p p4ser:1001 unlock -c 34521298 -f //doc/pascal/projmng/GP.xlsm
// doc / pascal / projmng / GP.xlsm - 未在该更改列表中打开的文件。
所以现在我只有笔记本电脑被替换后才有单独的客户名称。不知道用户joe打开了哪个更改列表。 解锁-x也没有帮助。
Perforce的新手,你能帮助我解锁这个文件吗?
答案 0 :(得分:2)
首先,这样做;它可以让你不必输入“-p p4ser:1001”。 :)
p4 set P4PORT=p4ser:1001
文件没有“锁定”,它是“独占打开” - 这是两个不同的状态,“解锁”只处理“锁定”状态。
文件可以“打开”但不能“锁定”,“解锁”会将文件从“打开+锁定”转换为“打开”。多个人可能同时“打开”一个文件,即使有人“锁定”,但其他人也无法“提交”,而其他人则有锁定。
但是,具有“+ l”文件类型的文件始终是独占打开的,无论它是否被“锁定” - 一次只有一个人可以打开它。要释放此文件,打开文件的用户需要“提交”或“还原”它 - 他们无法释放锁定,同时保持文件打开,因为您可以使用正常的“锁定”。要让管理员在不删除客户端的情况下释放文件,他们需要实际强制“恢复”而不是简单的“解锁”。
但是由于joe已经放弃了这个客户端工作区,最简单的方法就是删除它:
p4 client -d -f joe_dt
这应该会导致以前在该客户端上打开的所有文件被放弃,无论它们是锁定的,独占的,还是两者都没有。