【问题标题】:How to delete the old Perforce Workspace without damaging the work I've done on the exact same files under a new Workspace?如何删除旧的 Perforce 工作区而不损坏我在新工作区下对完全相同的文件所做的工作?
【发布时间】:2020-01-24 21:20:19
【问题描述】:

Trusty 计算机在 Perforce 工作区下签出文件时崩溃并死机。旧工作区无法识别新计算机,因此我无法重新签入文件。不得不继续工作,因此我创建了一个新工作区来编辑完全相同的文件。

如果不还原文件,我无法删除旧的工作区。但我不想冒险复制我对新工作区下完全相同的文件所做的工作。

“p4 revert -k”是我想要做的吗?

建议?谢谢。

【问题讨论】:

  • 工作空间/客户端是独立的。还原一个工作区/客户端中的文件不会影响在另一个工作区/客户端中打开的文件。
  • 您在旧电脑上所做的更改还有吗?就像,你做了一个备份,你在新电脑上恢复了那个备份,你试图把那些改变的文件签入?还是旧计算机中的文件真的永远丢失了,而您只是想在创建新工作区之前清理旧工作区(正如@jamesdlin 指出的那样,您不必这样做,只需创建一个新工作区在这种情况下在新计算机上)。
  • 感谢@jamesdlin 和 Brian Pendleton 的回复。由于旧的 Workspace 不允许我使用新计算机签入并且我必须继续工作,所以我创建了一个新的 Workspace 并打开了与我已经大量编辑过的完全相同的文件。现在稍微喘口气,我正试图回去清理。我想删除旧的工作区,系统说我必须在删除该工作区之前恢复文件。但我不想写下我所做的工作。 “p4 revert -k”会完成这项工作吗?
  • @MikeAndrews 由于您已经在新工作区中重新创建了更改,因此无需保留您在旧工作区中所做的更改。只需使用p4 revert 正常还原它们即可。这不会影响其他工作区中打开的文件。顺便说一句,也没有真正需要创建新的工作空间;您可以刚刚编辑您的工作区(或运行p4 client)并删除主机名,使其不再与特定主机绑定。
  • @jamesdlin 我的旧电脑已经死了。旧的 Workspace 无法识别我的新笔记本电脑。所以我无法恢复 Perforce 所需的文件,因此我可以删除旧的工作区。但是我不想覆盖旧文件,因为它们与我正在使用新工作区编辑的文件完全相同。我已将文件复制到一个完全独立的目录以防万一。

标签: perforce workspace p4v


【解决方案1】:

您真正要问的是如何恢复您无法再访问的旧工作区/客户端中的文件(因为它与不再存在的主机绑定)。

最简单的方法是要求您的 Perforce 管理员删除您的旧工作区。对您的 Perforce 服务器具有管理访问权限的人可以执行 p4 revert -C OLD_CLIENT 来恢复属于其他用户和客户端的文件,或者管理员可以执行 p4 client -df OLD_CLIENT 来彻底删除客户端。

如果您想自己做(注意:我现在手边没有 Perforce 安装,因此未经测试),那么您可以尝试:

  1. 运行p4 client OLD_CLIENT,清除Host: 字段。保存并退出。这应该允许来自不同主机的进一步编辑。

  2. 再次运行p4 client OLD_CLIENT。更改Root: 以指向某个空目录。保存并退出。

  3. cd 到步骤 2 中的目录。运行 p4 -c OLD_CLIENT revert ...

【讨论】:

  • 谢谢你,@jamesdlin。我会在今天晚些时候试一试。
猜你喜欢
  • 2013-05-16
  • 2017-12-15
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 2020-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多