2008-09-26 56 views
3

我在哪裏工作我在單獨的存儲庫中有幾個項目。每個項目都有很多共同的代碼,我想將其引入到一個獨特的項目中。我正在考慮用以下方案調用該項目:Company.Department.Common或Company.Department.Utility。在構建中集成外部源

我已經爲此構建了一個項目,並且它有一個自動構建腳本(與其他項目一樣)。

我的問題是,我想重構我現有的項目,以依靠這個新項目。一種非常基本的方法,但不是我正在尋找的方法是簡單地構建我的實用程序項目,將DLL複製到我的消耗項目中的lib文件夾中,然後檢查該消耗項目中的DLL。

我個人覺得方法很差。我想參考一下我的Utility項目,並在構建消費項目之前執行svn-update和Build Utility項目。僅供參考,Utlity項目中的代碼類型是日誌記錄工具,BDD單元測試類,IoC工具和通用公司。部門集中的類。

希望我的問題不太含糊,但有一些答案,我可能會精確地關注我想要做的事情。

最後,這是用於.Net項目,並使用NAnt作爲構建腳本,而svn用於代碼版本控制。

回答

6

格雷格是正確的,你可能會想使用svn:external功能。我創建了一個關於如何在Windows上使用TortoiseSVN執行此操作的分步指南。我發現它在我使用它的前幾次時非常混亂。我創建了指南,以便我可以查看它,因爲我不會一直這樣做。

Using svn:externals with Windows

1

你檢查了svn:externals功能嗎?這使您可以將不同的存儲庫顯示爲更高級存儲庫的子目錄。如果我明白你想要做什麼,這可能會有所幫助。

+0

聽說某個地方有使用SVN的問題:同一檔案庫中的外部(最明顯的是,當談到做備份,它會導致邪惡的圓形檢出)。你知道這是否仍然是一個問題? – 2008-09-27 06:36:56

+0

我從來沒有使用svn:externals,同時指向同一個存儲庫。這聽起來像是可能會導致問題,因爲svn:externals旨在指向一些* other *存儲庫。 – 2008-09-27 20:33:56