我曾經使用過ClearCase,以及Subversion,bazaar,mercurial,git和Team Foundation Server。當我使用ClearCase時,我們使用了UCM,而我真正喜歡的功能之一是能夠按組件分解軟件,並設置和推薦這些組件的基線。Clearcase的VCS替代方案有助於實現基線功能
我目前需要類似的功能。我們有一個庫用於多種產品,但是當開發人員進行更改時,他們通常在使用一種產品。他們可能會改變影響其他產品的界面或功能,但對於一個開發人員來說,整合和測試所有產品的變更是不切實際的。相反,我希望讓開發人員在他們的產品上開展工作,推薦一個新的基準,然後在適當的時候,其他開發人員可能會選擇將更改集成到其他產品的工作。
我希望VCS支持該工作流程。我想考慮ClearCase的替代方案,如果它們存在的話。我非常熟悉實施ClearCase的「挑戰」。 我並非試圖發表意見 - 我只想知道是否有其他VCS支持此功能(或者如果有人開發了自己的工具或流程以與其他VCS一起模擬此功能)以及如何實現它。
我不認爲svn中的標籤(或其他VCS產品中的標籤)是答案。在ClearCase中,當你推薦一個新的基線時,它阻止了開發人員在舊基線上工作 - 他們被迫重新綁定,並繼續從新基線開始工作。我不知道如何在任何其他VCS中強制執行rebase操作。
我可以把圖書館放在自己的回購中,但是這會導致其他問題。我仍然需要一種方法來指定(構建,發佈,開發人員「簽出」),使用哪個版本/標記/基線,以及讓VCS的這部分對跟蹤目的非常有用。
「軟件產品線管理」工具可能能夠做到這一點。此外,Perforce有一個配置文件,當你可以要求每個文件夾的不同給定版本和工具在團隊成員之間共享配置文件時。 –