我對集市(主要用於cvs,然後是顛覆,以及在我目前的工作中我們使用SourceUnsafe)相對來說比較陌生。我現在的開發環境的結構是這樣的:現在在分佈式版本控制系統(bazaar)中開發一個庫
\dev (shared repository) \trunk \project1 (branch) \project2 (branch) \branches \proj1-bugfix123 (branch of \trunk\project1) \proj1-featureA (branch of \trunk\project1)
,如果我決定PROJECT1的某些方面會更適合作爲一個庫(或組裝的,因爲它是一個C#項目),而不是項目中的類,什麼是構建這個市場的最佳途徑。我想出了兩種可能性,我認爲是可行的。第一個我認爲是「正確」的方式。
\dev (shared repository) \trunk \project1 (branch) \project2 (branch) \libXXX \branches \proj1-bugfix123 \main (branch of \trunk\project1) \libXXX (branch of \trunk\libXXX) \proj1-featureA \main (branch of \trunk\project1) \libXXX (branch of \trunk\libXXX)
這樣做的問題是,現在我需要記住更新解決方案文件,包括合適的項目,每當我做一個分支,不推,早,並還記得更改推回兩項目和庫在同一時間(例如,如果project1中的featureA需要更改libXXX才能工作)。
\dev (shared repository) \trunk \project1 (branch) \project2 (branch) \libXXX \branches \proj1-bugfix123 (branch of \trunk\project1) \libXXX \proj1-featureA (branch of \trunk\project1) \libXXX
這種方法的問題在於,如果另外一個項目,說是project3想用libXXX並且在源頭控制,這將需要關閉PROJECT1的一個分支,與刪除PROJECT1文件。這將是混亂。
我想有一個第三個選項,就是在顛覆中整個樹幹是一個分支,但這似乎與我認爲它們應該在集市中工作的方式相反。
如果這是在SourceSafe中完成的,我只是不喜歡它的第二個例子,但在這兩個地方的libxxx文件夾,但是共享的,因爲這是唯一的機制SourceSafe中必須做進去。
好吧,庫會有自己的解決方案,但是在project1中,它將具有UI的.csproj和庫的.csproj。問題出在哪裏。 – FryGuy 2008-12-11 01:57:27