在perforce中重命名工作空间根路径

时间:2017-07-03 11:10:21

标签: perforce workspace p4v

我在Windows上的同一目录中有两个perforce工作区根。例如:

C:\ Perforce_windows_workspaces \ wkspc1

C:\ Perforce_windows_workspaces \ wkspc2

我需要重命名文件夹" Perforce_windows_workspaces"更小的东西(比如说p4wkspcs),以便到根的新路径是:

C:\ p4wkspcs \ wkspc1

C:\ p4wkspcs \ wkspc2

分别

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

2 个答案:

答案 0 :(得分:4)

Perforce工作空间的定义表单包含可以更改的根目录字段。

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

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

    p4 sync -n //client.name /...

答案 1 :(得分:0)

从命令行:

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

并编辑" Root:"现场手动。

要仔细检查一下您是否输入错误并且重命名工作正常,请执行以下操作:

p4 -c wkspc1 diff -sd
p4 -c wkspc2 diff -sd

这些都不会返回任何输出(他们会检查您之前已同步过的文件是否已不再出现在预期的位置)。

从P4V开始,您需要单独切换到每个工作区并编辑工作区以更改“根”字段。您无法从P4V重命名文件夹本身;打开资源管理器窗口并在那里重命名。您可以使用" Reconcile"或"文件夹差异"一切都完成后验证是否正确。