Perforce Performce中已删除(未提交)目录:无法恢复、强制同步、协调或执行任何其他操作

Perforce Performce中已删除(未提交)目录:无法恢复、强制同步、协调或执行任何其他操作,perforce,Perforce,我已删除第三方Perforce客户端中的目录。它应该使用p4 delete,但我不能确定。它没有提交 现在: 我在p4v中没有看到已删除的目录 p4恢复失败: p4 revert //depot/path/deleted-directory/... //depot/path/deleted-directory/... - file(s) not opened on this client. 我无法强制同步已删除目录以恢复删除: p4 sync -f //depot/path/deleted

我已删除第三方Perforce客户端中的目录。它应该使用
p4 delete
,但我不能确定。它没有提交

现在:

  • 我在p4v中没有看到已删除的目录
  • p4恢复
    失败:

    p4 revert //depot/path/deleted-directory/...
    //depot/path/deleted-directory/... - file(s) not opened on this client.
    
  • 我无法强制同步
    已删除目录
    以恢复删除:

    p4 sync -f //depot/path/deleted-directory
    //depot/path/deleted-directory no such file(s).
    
    p4 sync -f //depot/path/deleted-directory/...
    //depot/path/deleted-directory/file1.txt#2 - deleted as /Users/me/depot/path/deleted-directory/file1.txt
    
  • 我无法调和它们:

    p4 reconcile //depot/path/deleted-directory/...
    //depot/path/deleted-directory/... - no file(s) to reconcile.
    
  • p4已打开
    未看到它们:

    p4 opened
    File(s) not opened on this client.
    
如何将此已删除目录放入变更列表或至少还原它


我尝试了来自“”的所有建议,除了查看一个新的工作区,我最终会这样做。

简短回答:

p4 undo //depot/path/deleted-directory/...#head
p4 submit
这将通过创建从先前版本复制的新版本来撤消该目录中的头部版本(即删除)

解释为什么您尝试的所有方法都无效的详细答案:

p4 undo //depot/path/deleted-directory/...#head
p4 submit
p4 opened
p4 revert
都对当前打开的文件进行操作。如果您尚未提交,则
revert
会将文件放回原处,但由于此删除操作已提交,因此没有打开的文件要还原

当您强制同步时,您只是强制重新同步到头部修订,该修订会被删除(就像您工作区中的文件一样),因此,无论您多么努力地强制同步,您将得到的都是一大笔钱。如果你做了:

p4 sync "//depot/path/deleted-directory/...#<head"
类似地,
协调
也没有做任何事情,因为文件在头部修订时被删除,并在您的工作区中被删除,因此没有什么需要协调的。如果您想让它变得非常奇怪,您可以通过使用
sync
flush
的组合来模拟重新添加文件新副本的情况,通过
协调
撤消删除:

p4 sync "//depot/path/deleted-directory/...#<head"
p4 flush //depot/path/deleted-directory/...
p4 reconcile //depot/path/deleted-directory/...

p4同步“//depot/path/deleted directory/…#非常感谢。出现问题:未提交此已删除目录。对不起,我不清楚。所有更改都是本地的。回购协议中没有删除的修订。耶!列出找到CL编号的文件!我得到了
//depot/path/deleted directory/file1.txt-delete change 25445(text)
的列表。这是一个非常旧的CL,并且
已删除目录
在仓库中已被长期删除,仅在本地保存。奇怪的是,它没有在同步过程中被删除,或者没有显示为在我的客户端中添加。因此,当它说删除已提交时,您的回答是正确的。我要添加的一件事是对
p4文件的测试。在这种情况下,
reconcile
会添加它们。也许他们也被排除在你的客户视图之外?或者可能存在某种路径混乱和/或输入错误(如果这是在Unix服务器上,可能会有所不同)?我运行了
p4 client-o
,clientspec包括整个祖父母目录。可能是我打错了。