2013-01-06 37 views
3

讓每個人都爲Perforce中的項目創建相同的客戶端似乎毫無意義,那麼,是否有人可以在Perforce中創建一個每個人都可以同步的「公共」客戶端?您可以在Perforce共享客戶端規格嗎?

編輯:我的意思是就像你在Perforce公司從客戶端規格

回答

2

如果您使用術語「工作區」而不是「客戶端」,則更容易理解體系結構。 Perforce應用程序管理本地磁盤指定區域中的文件,稱爲工作區。顧名思義,您的工作空間就是您完成大部分工作的地方。即使在同一臺工作站上,您也可以擁有多個客戶端工作區。

由於兩個不同的用戶通常獨立工作,在單獨的工作站或筆記本電腦上,他們每個都需要自己的代碼副本,並且每個用戶都需要自己的工作區,以便他們可以控制何時與其中的更改同步服務器。

如果您和我試圖在單個工作站上共享代碼的單個副本,我們會發現自己很快就會對其誰的變化感到困惑;我們更容易獨立工作,並將我們的更改作爲單獨的提交文件合併到服務器。

如果您的問題是客戶端定義很複雜,並且視圖定義非常複雜,那麼您可能希望調查'模板客戶端'功能:使用您喜歡的視圖和選項設置一個主客戶端,然後其他用戶可以使用'client -t'來創建工作空間定義,從模板客戶端複製視圖和選項的詳細信息。

2

這是可能做到這一點,但不建議創建的那些客戶。由於Perforce公司保存了哪些文件會同步到每個客戶端服務器端的記錄,你可能會遇到在那裏的情況:

  1. 用戶弗雷德會同步使用共享的客戶端,並得到一套新的文件。
  2. 在提交任何更改之前,用戶Jim會使用共享客戶端進行同步並且什麼都不會獲得,因爲Perforce服務器認爲客戶端已經有最新的一組文件。

Jim可以使用「p4 sync -f」來解決這個問題,它將強制所有最新的文件同步到他的工作區,但這是圍繞Perforce設計使用的方式的一個混亂。

Perforce客戶端在服務器佔用資源方面非常輕量級,因此最好不要共享客戶端。

我試圖找到一個更完整的解釋,爲什麼不應該在在線Perforce文檔中共享客戶端,但它不是很有幫助。如果您碰巧有副本,本書"Practical Perforce"就是我見過的最好的概述。

0

如Bryan所述,使用模板工作區或考慮使用流。在流框架中,您可以定義流視圖(組合)一次,並自動生成工作空間。

0

p4 sync -f太慢。因爲首先它會刪除本地的所有文件,然後從中央軟件倉庫重新加載文件!有一個棘手的方法去做。這是創建一個havelist並做同步,當想做同步-f。細節爲1,獲得clientspec,2,保存到本地。 3,刪除客戶端4,使用保存的clientspec創建一個相同的客戶端。因此我們節省了刪除本地文件的時間。

相關問題