2017-09-15 64 views
0

我在perforce软件仓库的文件结构中有很多文件,即使以管理员身份登录时,我也无法使用perforce客户端p4命令行或p4v gui查看。Perforce客户端缺少硬盘上的文件

我试图寻找到P4文件和P4 filelog命令的任何元数据,我可以,但它始终返回:“ - 没有这样的文件(S)”

此外,我已经运行p4验证和p4 dbverify,看看我们有没有在服务器上的任何错误,但他们没有返回任何错误。似乎没有文件的记录,除了它们在HDD上占用空间这一事实。

我目前的理论是他们来自失败的提交,但我不知道如何让perforce来确认这些文件,以便我可以将它们抹去。

背景信息:

  • 这是一个简单的Perforce设置只用主车厂和老项目档案库。 (神秘文件在主要软件仓库中)
  • 服务器版本是:P4D/NTX64/2012.2/551823(2012/11/09)。
+0

你说你无法通过Perforce客户端看到它们。到底你在打字什么?你使用仓库路径还是本地路径?你确定你的Perforce客户端的视图配置正确吗? – jamesdlin

+1

你需要提供更多的细节。选择一个或两个具体的例子,并提供所有的细节。你对基本概念似乎很困惑。例如,你谈论的是“客户端丢失的文件”,但是你会谈论很多关于试图“删除”或“验证”这些文件的文件,这些文件只影响**服务器**上的文件,而不是**客户**。 –

+0

@jamesdlin我正在使用软件仓库路径,例如'p4文件// depot/path/to/files/...' –

回答

1

不一定有什么之间是在服务器的库文件系统,在元数据中定义的库的实际结构的一个一对一的映射 - 库修订被写入一次,不移动或复制即使从客户的角度来看它们被移动或复制。所以你绝对不应该这样假设,因为软件仓库文件系统中的给定文件与软件仓库文件路径不对应,它实际上并没有为其他现有文件提供底层存储(尤其是如果你已经使用某些文件同时保留其他档案文件的分支 - 剩余的档案文件可能是您留下的其中一个的内容)。

也就是说,根据您的建议,档案也可能成为“孤儿”作为失败提交的一部分。如果涉及的空间很小,我建议不要担心它(孤立的文件不会造成碰撞方面的任何问题),但是如果清理它们很重要,最好的方法是使用“snap -n”,以确保没有任何这些依赖关系,然后手动删除它们(为了安全起见,我至少要保留它们的备份,直到你运行了下一次验证,以确保没有任何重要的事情发生失踪了)。兼营:

p4 snap -n //... //depot/path/to/mystery/file 

这是说“给我看在车厂(// ......)与//库存档依赖性/路径/到/悬疑/文件的任何地方文件”。如果在没有-n的情况下运行该命令,它实际上会通过制作物理副本来破坏这些依赖关系(如果担心空间,则不要这样做,因为最终会得到N个冗余副本)。

p4 snap -n(即“此存储库文件的存档位于何处?”)的倒数是p4 fstat -Oc //depot/file

+1

Hi Sam, 这看起来很有希望。 Yest这个抽象的文件是为什么我非常谨慎的从硬盘删除文件。我可以按名称搜索文件,但我看不到确保文件未重命名的方法。 不幸的是,这是由于硬盘驱动器包含的空间不足导致本次调查,而这些神秘文件占三TB以上硬盘的三分之一。因此,保留这些文件不是一种选择。 –

+0

我一回到办公室就会尝试。有趣的是,我在查看正确的文档时,似乎并未将p4 snap列在[2012.2的命令参考](https://www.perforce.com/perforce/r12.2/manuals/cmdref/index.html)中? –

+0

检查'p4 help undoc'。 –

相关问题