2009-06-05 45 views
0

我們正在嘗試重新構建SVN版本庫,並在主幹下包含一個lib文件夾以容納項目所依賴的程序集。SVN版本庫結構和共享程序集

我很想知道你們是如何處理共享程序集的?你有多個副本,跨越不同的主幹庫文件夾?你有什麼樣的構建過程會在構建該組件時自動更新lib文件夾?

你們如何處理你在哪裏?

謝謝!

回答

1

我們版本全部核心庫。

所以例如,SVN是這樣的:

/回購/ LIB1 /主幹/

/repo/lib1/tags/1.0

/repo/lib1/tags/1.1

/回購/ LIB1 /分支

...

這樣可以避免出現BC,的情況,並且需要更新其他三個使用該庫的項目。

此外,我們利用svn:externals鏈接這些庫到項目中。

/repo/project1/tags/1.0

/回購/ PROJECT1 /主幹/庫

...

svn propedit svn:externals /repo/project1/trunk/library 

輸入以下命令:

lib1 svn://host/repo/lib1/tags/1.1

...並提交更改。

Project1本身也遵循約定(發佈標籤等)。

根據您選擇的語言,當然還有其他選項。讓我知道你是否可以詳談,看看我能否延續我的答案。但總而言之,就像那樣簡單。不需要其他構建工具。

我們盡我們所有的部署直接從顛覆(通過capistrano)。它基本上只是檢查出的標籤,並完成。甚至允許熱修復它。如果你讓我拉皮條我自己blog - 我對這個話題(「從SVN部署」)廣泛寫入。

HTH!

1

對於共享相同庫的不同存儲庫,我使用外部引用來託管庫,以便它們共享相同的代碼。如果在同一個存儲庫中有多個項目需要這些庫進行編譯,那麼構建過程將根據需要從頂級庫文件夾複製到每個項目子文件夾。