Perforce 如何在新电脑上更新Performce have列表以反映我的空工作区?

Perforce 如何在新电脑上更新Performce have列表以反映我的空工作区?,perforce,Perforce,最近我们的开发团队收到了新的pc。为了使这一过渡更加顺利,我想向我的同事们解释一下,如何继续使用他们已经设置好的客户端,将文件从新电脑上拉入拉出,同时最终完全忽略旧电脑的工作区 我知道如何调整客户机本身的属性,并允许不同主机访问客户机。我现在要做的是更新给定客户机的perforce have列表,以反映新pc文件系统中的文件(或缺少文件)(显然是在正确映射的位置) 我不确定是否可以使用p4 flush命令让perforce知道现有工作区文件的哪个版本,而不明确告诉perforce它是哪个版本。。

最近我们的开发团队收到了新的pc。为了使这一过渡更加顺利,我想向我的同事们解释一下,如何继续使用他们已经设置好的客户端,将文件从新电脑上拉入拉出,同时最终完全忽略旧电脑的工作区

我知道如何调整客户机本身的属性,并允许不同主机访问客户机。我现在要做的是更新给定客户机的perforce have列表,以反映新pc文件系统中的文件(或缺少文件)(显然是在正确映射的位置)

我不确定是否可以使用p4 flush命令让perforce知道现有工作区文件的哪个版本,而不明确告诉perforce它是哪个版本。。。?(这似乎要求很多)

除了工作区中确实存在的文件外,是否有命令将工作区中不存在的文件的have列表更新为#0

是大锤式方法:

在旧工作区和/或新工作区中提交任何挂起的更改 删除可能已强制进入(新)工作区的所有文件 $:p4刷新[工作区根目录]/…#0


在这种情况下是否合适?

如果我正确理解了您的问题,我相信使用工作区名称作为修订修改器将满足您的要求。例如
p4 flush//depot/path/some/file@workspacename
。对于新机器,我们通常会通过这些基本步骤来避免重新同步文件

  • 将工作区中的文件从计算机1复制到计算机2
  • 创建与旧客户端映射匹配的客户端
  • 在新客户端中,运行:
    p4 flush//depot/..@oldclientname

  • 如果可以选择使用现有的工作空间,那么这应该非常容易。听起来您已经知道如何从其他主机访问工作区(您可以将其留空以使任何主机都可以访问它)。如果您将工作区文件夹复制到新电脑上,并根据需要更新工作区的根目录,则该文件夹应“正常工作”,无需任何其他更改。

    Mark,感谢您的及时回复。我在flush命令的p4文档中看到了这一点,但我不想再写一篇文档来解释如何创建新的Performance客户端。Mike,也感谢您的回复。这是我读了我向Mark提到的文档后的第一个想法。我想尽量避免这种情况,只是因为我们在任何给定的时间(10万个)在任何给定的工作区中保存了大量的文件。这些卷背后的大部分理由都是依赖性,但是……马克和迈克都有非常有用的答案。我对Mike的回答有一个问题,那就是我必须一直强制最新版本的get修订,以使Performce忽略have列表并实际复制文件,因为我不想复制整个工作区树(太大)。我决定恢复或提交更改,删除新机器上工作区目录的内容,并运行以下命令
    p4 flush//depot/..0
    ,这可能并不总是最好的,实际上它与
    p4 sync//depot/..0
    相同,因为同步到rev0会为我完成本地删除。鉴于新工作区为空且Performce have列表不正确,当运行命令
    p4 flush//depot/..0
    时,have列表将反映新的空工作区。