2017-03-14 58 views
0

當我在teamcity代理上執行Perforce vcs根檢出時,看到以「TC_p4_ 」開頭的工作空間被創建,但我無法在我的代理上找到此文件夾。這個「TC_p4_」的映射在TeamCity中的映射在哪裏? 我沒有爲teamcity中的vcs根啓用任何結帳規則。TeamCity上的Perforce VCS根代理端檢出映射

我vcsroot客戶端映射設置看起來像在TeamCity的如下:
// vcsroot/STREAM_NAME/... // TeamCity的代理/ ...

而且當我做了結帳,恢復或使用p4命令行命令(如p4 sync,p4 revert等)在vcs root中使用的Perforce流提交,我在Teamcity中不斷收到以下錯誤。

警告:不能從非流客戶端提交

是否有人可以幫助我,我錯過了什麼這裏。欣賞任何形式的指針,並通過您的迴應幫助!

回答

2

從查看客戶的詳細資料開始。您不需要在TC代理上執行此操作 - 任何連接到您的P4服務器的盒子都可以執行此操作。您的選項有:

  1. 在P4V中,按Ctrl-G>選擇工作區>輸入TC_p4_...名稱。
  2. in p4 cmdline客戶端,運行p4 client -o TC_p4_...

其中任何一個都會顯示工作區的「根」(以及「主機」,它應該是您TC代理的主機名)。這會給你一個暗示代理的位置。

現在,我懷疑你不能同步,恢復等,因爲當你運行這些命令時,你的環境設置不正確。而不是p4 sync和類似的,嘗試運行p4 set。它是否正確識別服務器(P4PORT)和客戶端(TC_p4_...)?如果沒有,你必須先解決這個問題,這可以做到a number of ways

+0

所以提交,我能想出使用上述答案TC_P4映射,感謝sferencik。 – Jose

+0

但仍然無法解決p4提交的問題,它繼續警告我「警告:不能從非流客戶端提交」,然後結果出現錯誤「沒有文件提交,提交失敗 - 修復上面的問題,然後使用'p4 submit -c '。 – Jose

+0

我檢查了P4CLIENT和P4PORT設置,它們都是正確的,Teamcity在運行時用生成的Teamcity Workspace名稱填充這些參數,並且在設置這些變量時沒有問題。看起來我用來提交的命令有錯誤。以下是我用於提交的命令 1. p4 -p%PerforceServer%-u 還原-a 2. p4 -p%PerforceServer%-u submit -d「description」 – Jose

0

解決方案是在Teamcity中創建一個vcs根,將P4連接作爲一個流創建,而不是使用客戶端映射,同時創建vcs根目錄執行perforce提交,恢復,同步等操作並且不會獲取錯誤 「警告:不能從非流客戶端」

https://confluence.jetbrains.com/display/TCD9/Perforce