2014-09-24 61 views
0

Im使用p4v。當我簽在工作區P4V一些文件顯示下一個命令日誌: P4編輯-c默認d:\ P4 \車廠... \ file.txt的Perforce「p4編輯」在倉庫中打開文件

,我需要做同樣的事情,在cmd中 所有環境變量被設置爲:

P4CHARSET=utf8 (set -s) 
P4CLIENT=workspace_name (set) 
P4PASSWD=passwd (set) 
P4PORT=port (set) 
P4USER=name (set) 

然後我用同樣的命令 「P4編輯-c默認d:\ P4 \車廠... \ file.txt的」 和P4輸出這樣的: //depot/.../ file.txt#5 - 打開編輯 如果我檢查p4v我看到該文件簽出在倉庫,而不是在我的工作區。

這個問題的解決方案是什麼?

+0

在命令窗口中運行命令後,可能需要使用P4V中的「刷新」使其窗口顯示命令的結果。 – 2014-09-24 22:26:24

回答

2

Perforce中的文件被映射到您的工作區和軟件倉庫之間,軟件倉庫和工作區路徑可以互換使用。當使用「p4編輯」將文件「簽出」時,會發生以下情況:

  1. 您的本地文件(d:\ p4 \ depot ... \ file.txt)可寫入。
  2. 軟件倉庫文件(//depot/.../file.txt#5)被標記爲由您打開。
  3. Perforce服務器「記住」所有這些。

也就是說,您的工作區和倉庫中的文件確實已「簽出」 - 兩者之間沒有區別。這是同一個文件。如果你看看你的工作空間文件,你應該看到它現在是可寫的(這是你的工作空間中檢出的信號)。在命令行中,您可以運行「p4 opened」來查看當前工作區中的哪些文件已打開。如果您不確定軟件倉庫路徑如何映射到單個文件的本地路徑,那麼可以運行「p4 have」來查看您的工作空間中的給定軟件倉庫文件的位置以及它的版本。

當您提交時,服務器將知道庫文件需要更新,並且它會知道新內容將來自您的工作區文件。如果存在新的修訂版本的庫文件(比#5更新),服務器將安排一個解決方案,以便您可以在提交前合併新內容。

換句話說,不存在「在倉庫中檢出」但不在工作區中的情況。 「簽出」的軟件倉庫文件按照定義簽出到特定的工作區。

+0

謝謝你的回答! – 2014-09-29 10:16:11

相關問題