当工作区已从磁盘中删除时,删除具有挂起文件的Perforce客户端工作区?

eng*_*ech 15 version-control perforce

当该工作空间已从磁盘中删除时,如何删除具有挂起文件的工作空间?

注意事项:

  • 仅限p4命令行; 不是p4v gui
  • 定期用户访问; 没有管理员权限

场景:

  • 创建user_workspace~/my_workspace目录中的磁盘上命名的工作空间
  • p4在默认挂起的更改列表中编辑工作空间中的文件
  • 手动删除工作区(rm -rf ~/my_workspace)
    • 工作空间仍存在于具有挂起文件的服

解决方案不起作用:

1:删除工作区

不起作用,因为工作区已打开文件.

p4 client -d user_workspace

客户'user_workspace'已打开文件; 使用-f强制删除.

2:强制删除工作区

不起作用,因为不是管理员.

p4 client -d -f user_workspace

您无权执行此操作.

3:删除待定的变更清单; 然后删除工作区(尝试1)

p4 changes -c user_workspace -s pending

仅列出待处理编号的更改列表,不处理默认挂起的更改列表.

p4 -c user_workspace -d changelist_number

不可能,因为挂起的更改列表没有更改列表编号.

4:删除待定的变更清单; 然后删除工作区(尝试2)

试图在不存在的目录上进行p4还原会产生一个奇怪的错误.

p4 revert ~/my_workspace

/ home/user/my_workspace - 必须引用客户端'user_workspace'.

p4 -c user_workspace revert ~/my_workspace

/ home/user/my_workspace - 必须引用客户端'user_workspace'.

setenv P4CLIENT user_workspace; p4 -c user_workspace revert ~/my_workspace

/ home/user/my_workspace - 必须引用客户端'user_workspace'.

eng*_*ech 32

1.还原待处理的更改列表

必须使用Perforce depot表示法而不是本地目录表示法,因为本地目录不再存在.

p4 -c user_workspace revert -k //...

// blah/blah/blah/file#rev - 编辑,恢复

2.删除客户端工作区

p4 client -d user_workspace

客户端user_workspace已删除.


小智 5

这将为您提供客户端上的挂起更改

p4 changes -c user_workspace
Run Code Online (Sandbox Code Playgroud)

这将删除您选择的待定更改列表

p4 change -d <change list number>
Run Code Online (Sandbox Code Playgroud)

之后,您可以使用删除客户端

p4 client -d user_workspace 
Run Code Online (Sandbox Code Playgroud)