2017-07-03 608 views
0

我在Windows上的同一目錄中有兩個perforce工作空間根。例如:在perforce中重命名工作空間根路徑

C:\ Perforce_windows_workspaces \ wkspc1

C:\ Perforce_windows_workspaces \ wkspc2

我需要重命名文件夾 「Perforce_windows_workspaces」,以更小的東西(說p4wkspcs),從而使新路徑根部將是:

C:\ p4wkspcs \ wkspc1

C:\ p4wkspcs \ wkspc2

分別爲

直接在文件系統中重命名文件夾是否會導致根映射中的任何問題?如果是這樣,我該如何反思P4V應用程序中的這些變化?

+0

我不想搞亂我的工作區,因爲太多的文件在那裏同步。 – aman

回答

2

Perforce工作空間的定義形式包含可以更改的根目錄字段。

要更改工作區無根是Perforce傳輸的所有數據做如下步驟:

  1. 轉到P4V,查看>工作區。然後右鍵單擊工作區並選擇「編輯工作區'...'」。 更改工作空間根目錄並確認更改而不同步工作空間。 (將提示您同步工作區;取消該操作)
  2. 重命名文件系統上的目錄
  3. 執行同步以檢查一切正常。

    P4同步-n //client.name/...

+0

我在這裏沒有看到整個圖片,我應該先重命名文件系統中的文件夾,然後從P4V對工作區的根進行更改?或者相反呢? – aman

+0

只要您在最後同步,這些步驟的順序應該無關緊要。移動/重命名您的目錄,更改工作區根目錄,然後p4同步。 –

+0

這是我的問題。我不想再次同步(工作區大小約爲40GB左右!)。我只想確保如果我重命名根文件夾,將來的所有操作都不會受到影響。真的想確定一下,否則如果出現問題,它會在重建工作區時加起來2天的時間。 – aman

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 

和編輯的「根」手動場。

要仔細檢查你沒有拼寫錯誤和重命名工作權,這樣做:

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

這些都應該回歸沒有輸出(他們檢查,看看您有任何文件先前同步的不再存在於其預期位置)。


從P4V開始,您將需要分別切換到每個工作區並編輯工作區以更改根區域。您不能從P4V重命名文件夾本身;打開資源管理器窗口並在那裏重命名。完成一切後,您可以使用「Reconcile」或「Folder Diff」來驗證正確性。