[Perforce] 改變 Perforce workspace 的本地端目錄
公司使用的 CVS 系統是 Perforce,在每台機器上都會有個給 Perforce 用的目錄,
像我有兩台機器,一台是在 ~/Perforce,一台是在 ~/p4,
今天想把它都改成一致的 ~/p4,卻發現修改無效…
問題如下,我先選取了 Perforce > Connection > Edit Current Workspace,
跳出如下的畫面後,可以看到它預設的 Worspace 目錄是在 /Users/Perforce,
於是我把它改成 /Users/p4,按下 OK~
接著 Perforce 會問你是不是要將檔案複製到新的目錄去,
這时選擇 Do Not Copy,因為只是改個目錄名字:
接著問題發生了,在 Worspace 的 tree view 那邊,
當切到 /Users/p4 (就是新的目錄) 時,會出現 files not in view 的錯誤訊息,
可是回去 Edit Workspace 那邊看,明明 Workspace root 就是 /Users/p4 呀,
就算重開 Perforce p4v 也是一樣,這是怎麼回事呢?
後來在 stackoverflow: How do I move a Perforce “workspace” folder? 找到解法,
有人建議在用 p4v 改完名字後,要關掉 p4v,再執行下面的命令:
p4 flush //depot/path/to/folder/…@<last_changelist>
舉例來說,我們在用的 depot 是 //Core/Dev,
然後從 History 頁面得知最後的 change list 是 123456,就可以這樣下:
p4 flush //Core/Dev/...@123456
執行完這個指令後,再重新開啟 p4v,一切都正常囉,
也不會再出現 file not in view 的問題了~^^