Perforce不会从Depot中删除文件和文件夹

时间:2018-01-30 19:30:14

标签: perforce delete-file

我有一个工作区,一些文件和文件夹已脱机删除。工作区在仓库侧显示它们。无论我做什么,我都无法删除那些文件/文件夹。当我选择"标记为删除"是说"文件不在客户端视图中。"嗯,我知道。这就是为什么我要将它们从仓库中删除的原因!

"协调离线工作"灰了。不知道为什么。

"从工作区删除"返回"文件不在客户端视图中。"或者"没有更新文件"视情绪而定。

我需要保留该区域中的其他文件夹,但我想清理库,因此只显示这些文件夹。

如果我尝试"获取最新版本"用力(我想把它们复制回去然后在网上删除),它说" 11个文件被删除"但没有改变。我已刷新并退出并重新启动。

我正在使用P4V(GUI版本)

3 个答案:

答案 0 :(得分:1)

您对离线简单删除文件的情况描述不准确。如果文件不在您的客户端视图中,则表示您还具有:

  1. 修改了您的客户视图
  2. 切换客户端工作区
  3. 撤消您所执行的任何操作,然后Reconcile将会看到丢失的文件并将其打开以进行删除。

    由于它们当前不在客户端视图中,因此工作区中已删除的文件与相应的库文件之间没有关联。每当您希望Perforce在工作区中执行涉及文件的任何操作时,客户端视图都需要指定这些文件与软件仓库的关系。

    (添加更多内容以考虑有关正在删除的客户端规范的评论,并且显然使用不同的视图重新创建,这很难告诉您如何恢复,因为我对此不了解任何内容之前/之后的状态除了存在文件......某处。不幸的是,由于客户端规范不是版本化对象,因此不可能简单地撤消客户端规范删除,缺少检查点恢复。)

    如果您删除了客户端规范,那么您之前已同步到客户端的记录将被删除(下次只是在工作区移动时更新Root),因此即使重新创建,协调也不会起作用具有相同View的客户端。

    为了能够从P4V删除文件,您需要同步它们,但听起来您还有一个额外的问题,即使用不正确的视图重新创建您的客户端规范,因此您甚至无法同步文件呢。以下是您需要做的事情:

    1. 将库路径添加到客户端视图。
    2. 将文件同步到您的工作区。
    3. 标记为删除。
    4. 提交。
    5. 从命令行同步是可选的,因此您可以执行以下步骤删除客户端(再次),重新创建它(这次使用全开默认视图),打开要删除的文件,然后提交:

      p4 client -d YOUR_CLIENT
      p4 client -o | p4 client -i
      p4 delete -v //depot/files/to/delete/...  
      p4 submit
      

答案 1 :(得分:0)

如果您有规范库,则可以使用此工具将工作区恢复到视图更改之前的某个位置。

有关使用规范库的更多信息,请访问:   http://answers.perforce.com/articles/KB/2445

答案 2 :(得分:0)

Perforce无法识别脱机的已删除文件,必须首先选中“ Fore Operation”(Fore操作)来获取最新版本。 现在,您将在软件仓库中看到所有已删除的文件。 如果仍然看不到软件仓库中的删除文件,请备份整个文件夹。现在删除文件夹,并勾选“ Fore Operation”进行最新操作。 现在,您肯定会在软件仓库下看到已删除的文件。 现在,您要对要从软件仓库删除的文件进行“标记为删除”。