在perforce中重命名工作区根路径

在perforce中重命名工作区根路径,perforce,workspace,p4v,Perforce,Workspace,P4v,我在Windows上的同一目录中有两个Performce workspace根目录。例如: C:\Perforce\u windows\u工作区\wkspc1 C:\Perforce\u windows\u工作区\wkspc2 我需要将文件夹“Perforce\u windows\u workspace”重命名为较小的文件夹(例如p4wkspc),以便根目录的新路径为: C:\p4wkspcs\wkspc1 C:\p4wkspcs\wkspc2 分别 直接在文件系统中重命名文件夹是否会导致根映射

我在Windows上的同一目录中有两个Performce workspace根目录。例如:

C:\Perforce\u windows\u工作区\wkspc1

C:\Perforce\u windows\u工作区\wkspc2

我需要将文件夹“Perforce\u windows\u workspace”重命名为较小的文件夹(例如p4wkspc),以便根目录的新路径为:

C:\p4wkspcs\wkspc1

C:\p4wkspcs\wkspc2

分别


直接在文件系统中重命名文件夹是否会导致根映射中出现任何问题?如果是这样,我如何在P4V应用程序中反映这些更改?

Performce workspace的定义表单包含可以更改的根目录字段

要更改工作区根目录而不从perforce传输所有数据,请执行以下步骤:

  • 转到P4V,查看>工作空间。然后右键单击工作区并选择“编辑工作区”…”。 更改工作区根目录并确认更改,而不同步工作区。(将提示您同步工作区;取消该操作)
  • 重命名文件系统上的目录
  • 执行同步检查以验证一切正常

    p4 sync-n//client.name/

  • P4V仍将在工作区视图中显示旧路径。转到“搜索->过滤工作区->工作区根目录”,它将被更新

  • 步骤1和2的顺序无关紧要。

    从命令行:

    p4 -c wkspc1 --field Root=C:\p4wkspcs\wkspc1 client -o | client -i
    p4 -c wkspc2 --field Root=C:\p4wkspcs\wkspc2 client -o | client -i
    ren C:\Perforce_windows_workspaces C:\p4wkspcs
    
    这将处理实际的重命名——如果您有大量的工作空间,那么编写脚本显然非常容易。如果您使用的是旧客户机,
    --field
    不起作用,您可以按如下方式执行前两个命令:

    p4 -c wkspc1 client
    p4 -c wkspc2 client
    
    并手动编辑“根:”字段

    若要再次检查您是否输入错误,以及重命名是否正确,请执行以下操作:

    p4 -c wkspc1 diff -sd
    p4 -c wkspc2 diff -sd
    
    它们都不应返回任何输出(它们正在检查您以前同步过的任何文件是否不再存在于其预期位置)



    从P4V开始,您将需要单独切换到每个工作区,并编辑工作区以更改根字段。您不能从P4V重命名文件夹本身;打开一个资源管理器窗口并在那里进行重命名。完成所有操作后,您可以使用“协调”或“文件夹差异”来验证正确性。

    我不想弄乱我的工作区,因为那里同步了太多的文件。我不了解这里的全部情况,我是否应该先重命名文件系统中的文件夹,然后从P4V更改工作区根目录?或者反过来呢?只要你在最后同步,这些步骤的顺序就不重要了。移动/重命名目录,更改工作区根目录,然后进行p4同步。这就是我的问题所在。我不想再次同步(每个工作区的大小大约为40GB!)。我只是想确保如果我重命名根文件夹,以后的所有操作都不会受到影响。确实要确定,否则,如果出现问题,重建工作区将需要2天的时间。如果您相应地重命名文件夹和工作区根目录,则不需要从Performance server传输任何数据,所有修订版都将已存在于工作区中。sync命令允许您验证是否键入了根名称。过去我重命名了几个工作区根,并且没有任何问题。