2011-03-22 63 views
1

我們的團隊將許多不同的子塊集成到我們的主項目中,我們正在努力確定管理所有這些不同知識產權的最佳方式。 (從這裏開始,我將把這些子項目稱爲知識產權「知識產權」)。如何在Perforce中管理「第三方」子項目?

IP將是第三方供應商IP,以前的項目IP和新項目IP的混合。下面是一些我們正在考慮爲管理所有不同的部分IP的想法:

  1. 發表一個物理驅動器上的版本和具有主體工程指向正確的版本。

    優點 - 小對SCM無依賴性:似乎簡單到最初管理:

    缺點 - 必須記住保持每個物理設計中心最新:

  2. 使用Perforce的客戶規範意見,包括正確的版本。

    優點 - 能夠快速看到客戶規範正在使用什麼IP地址:

    缺點 - 隨着大量的IP地址,客戶端規格變得非常混亂和難以管理:每個團隊成員的管理有自己的客戶端規格(不一致):確定要使用哪個IP版本不在SCM下(默認情況下):

  3. 將不同版本集成到單個一行客戶端視圖中。

    優點 - 使客戶規範維修死的簡單:任何更改IP版本與標準Perforce的工具伊斯利觀察到:

    缺點 - 不容易看到,我們正在使用的IP版本:

我們的經理更喜歡#2,因爲他最容易看到客戶端規格並知道我們使用的所有IP和版本。工蜂往往強烈不喜歡這一個,因爲這意味着我們必須嘗試將每個客戶的規格保持在最新狀態,並且不屬於項目本身的SCM。

其他人如何處理Perforce項目中的IP以及您有哪些建議?

UPDATE:

我真的很傾向於解決方案#3,它只是似乎這樣更清潔,更容易維護。如果有人能想到爲什麼#3不是一個好主意,請讓我知道。

+0

起初,我以爲你的意思是IP,就像「互聯網協議」一樣。然後,因爲這在你的發佈中沒有意義,所以我認爲這可能意味着「知識產權」,但當你談論發佈時,這似乎也不適合。你能澄清你的意思嗎? – jhwist 2011-03-22 09:20:40

+0

如果您不是在談論Internet協議,您可能需要拼出IP(並刪除IP標籤)。您可能會發現將此問題遷移到(錯誤地)到ServerFault。我不會,因爲我不知道你的IP是什麼意思。 – Will 2011-03-22 16:38:42

+0

@會 - 謝謝。 – stephenmm 2011-03-22 18:57:41

回答

3

我會去第三個解決方案。

我想不出任何缺點,並且在過去面臨類似的情況時還沒有經歷過。

您可以通過使用明確說明哪些IP版本分支的分支規範安撫您的管理器。然後他可以引用該分支規範而不是客戶端規範。

另外,如果您在幫助中查找「spec depots」,則可以設置Perforce以使其版本自動控制包括分支規格在內的所有規格,如果您更改IP版本,這將爲您提供可追溯性。

+0

+1的答覆 - 這就是我們傾向於做的。我只想說,能夠一致地複製構建比確切知道正在使用哪些版本更重要。依靠複雜的客戶端規格等於要求未來的問題恕我直言(理由選擇#3)。 – rjnilsson 2011-03-23 07:36:28

0

「每個團隊成員的管理有自己的客戶端規格(不一致)」

不要那樣做。讓客戶端規範成爲簽入Perforce的文件。

+0

儘管它可能導致雞與雞的問題,但是可以將客戶端規格檢入Perforce中。您如何在多用戶環境中處理這種情況,其中每個用戶也可能需要在「同一時間」從不同地點使用相同版本? – rjnilsson 2011-03-23 07:43:04

0

我會建議#2,因爲它是最透明的系統。是的,這意味着更多的工作讓客戶保持最新狀態,但您可以通過使用模板客戶端來最大限度地減少這個問題。

在我的工作中,我們使用開發人員從中複製的模板客戶端來保持客戶端的正確配置。我們用「0-PRODUCT-BRANCH」模式來命名(如果需要的話,有時會添加平臺)。然後它是來自命令行的單行命令,或者來自GUI的幾次單擊來更新您的客戶端。每當模板更改時,我都會向團隊發送通知。

現在在我的情況下,模板更改不會經常發生。每年最多可以有5-6個,所以你的麻煩程度可能會有所不同。

相關問題