Perforce Revert显示"此客户端上未打开的文件"

ash*_*999 19 perforce revert

我正在尝试打开现有的Perforce应用程序.我做了一些本地更改,比如删除我要撤消的文件(也就是说,我希望我的本地副本再次与存储库完全匹配 - 删除添加的文件,恢复已删除的文件和撤消更改).

当我尝试使用p4v gui客户端恢复时,我看到此错误:

 file(s) not opened on this client
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

我确实设法恢复所有已更改的文件,但没有恢复/删除的文件.

编辑:我做了以下事情:

  • 使用p4v连接到Perforce服务器
  • 将目录映射到我的本地文件系统(比方说C:\Perforce)
  • 获取最新版本的存储库
  • 转到Windows资源管理器中的C:\ Perforce
  • 删除一些文件和文件夹
  • 添加一些文件和文件夹

我想回到"原始"状态,这是我第一次获得最新版本的存储库时服务器上的确切内容的副本.

Mar*_*ark 24

通过编辑描述的外观,您可以直接在文件系统上添加和删除文件,而不是通过perforce.因此,Perforce对这些更改一无所知,因此没有任何回复.通常,当您要添加文件时,使用"p4 add"(或等效的p4v操作),删除时,应使用"p4 delete"(或者再次使用等效的p4v操作).

真的,回到原始状态的最佳选择是在c:\ perforce中修改代码的本地副本(在Windows资源管理器中),转到p4v,右键单击要同步的区域,然后选择"获取修订版本" ..."并在随后的对话框中,确保选中"强制操作"复选框.这将告诉Perforce您想要所有内容的新副本,无论您是否同步它.

您还可以在p4v中运行"协调脱机工作".右键单击库区域并选择该选项.它将扫描本地文件夹结构,并向您报告已添加的文件,这些文件在perforce中不存在,删除了哪些文件以及修改了哪些文件.在该对话框中,您可以右键单击perforce中不存在的本地文件并删除它们,或者您可以"添加"它们.您还可以同步已删除的文件.

HTH.

  • 这就是我想知道的.SVN,Hg等都允许您使用revert删除不在存储库中的本地文件,并重新添加仍在存储库中的已删除文件. (3认同)
  • 你可以称之为可用性失败,但很多人会认为这只是一个加分 - 它只是一个不同的范例.Perforce几乎在所有操作中都非常快,因为它可以跟踪本地工作空间中的内容,并且无需进行任何类型的修正来使您的工作区与服务器上的内容相匹配,除非您告诉它.当你拥有500K +文件的工作空间时,这种思维方式的改变(以及这种速度)真的很棒.在Perforce中处理数据集的速度仍然非常快. (3认同)
  • 这是可以理解的。我不明白(可能是因为我的 SVN/Hg 背景)是 Perforce 似乎“忽略”了文件系统,并且不允许您一键恢复到服务器上的确切内容。这对我来说似乎是可用性失败。 (2认同)