我在這裏讀過一些譴責使用svn:externals的答案。我確實看到它們如何被濫用,它確實使我們更加依賴Subversion,但我不認爲我們的團隊很快就會離開它。svn externals ...是或否?
無論如何,這是我的困境。我們的解決方案引用了存儲庫中各個部分的多個項目。這些項目中的許多項目是由多個解決方案共享的,我們也不希望排除我們項目的共享。我們還有幾個固定的版本依賴關係被檢入我們的倉庫(單元測試框架,庫等)。
我想爲我們的開發人員配置幾個只使用外部(只要Subversion擔心他們只是空目錄,或者可能包含單個解決方案文件)的'工作空間'來配置解決方案。單獨檢出大多數項目並不足以構建它們,但檢出它的工作空間足以構建它,因爲它的所有依賴項都會隨之而來。有沒有其他人實現了類似的解決方案,並會svn:外部是一個很好的方式來解決這個問題?如果我們走這條路,你對我有什麼謹慎的話?
基本結構是這樣的(主幹/分支/略去了標籤):
/projects
/project1
/project2
/dependencies
/xUnit
/1.5
/1.4
/NHibernate
/2.1.0
/2.0.1
/workspaces
/project1
/project1 (external to ^/projects/project1)
/xUnit (external to ^/dependencies/xUnit/1.5)
/NHibernate (external to ^/dependencies/NHibernate/2.0.1)
/project2
/project2 (external to ^/projects/project2)
/xUnit (external to ^/dependencies/xUnit/1.4)
/NHibernate (external to ^/dependencies/NHibernate/2.1.0)
請注意該博客文章的鏈接已移動。它現在在這裏:http://cobaltedge.com/svn-externals-are-evil-use-piston-or-braid – chrisrbailey 2010-04-13 15:08:50