2011-05-27 56 views
0

我可以使用一些建議。 我正在採用顛覆的過程中,我試圖將一些現有的Visual Studio 2010項目放入存儲庫。我有當前版本的AhnkSvn。Anhksvn + Visual Studio - 使用鏈接文件

我有的項目組織爲;

VS2010_projects \ Project_A

VS2010_projects \ Project_B

VS2010_projects \ Project_C

VS2010_projects \ Common_code

凡Project_A,Project_B和Project_C可能都是指一個或多個文件中的 「Common_Code」 在visual studio中,這些文件將使用「作爲鏈接添加」添加。

「Common_code」中沒有實際的項目,只是一些有用的代碼文件的集合,我們很可能會在不同的項目中重複使用它們。 (如果我們有一個模塊或類在各種項目中重複使用,那麼我們通常將一個主副本保留在「通用代碼」中,並鏈接到它)。 Visual Studio對此沒有任何問題。

當我將任何實際的項目添加到顛覆時,他們自己的所有文件都添加得很好,但鏈接的文件被忽略。 (因此,如果我然後得到這些文件的工作副本,那麼這只是項目文件得到處理,我不會得到鏈接文件的副本。) 如果我右鍵單擊任何鏈接的文件,我唯一的顛覆選項是我刷新其狀態或選擇工作文件夾。

我想知道處理這種情況的正確方法是什麼?

任何建議,將不勝感激

謝謝!

羅伯特

回答

0

,如果我明白你的問題正確的話,我認爲SVN在希望的方式行事。鏈接的文件僅僅是對另一個文件的引用。該引用僅存在於簽入的.csproj文件中。在源代碼管理中同一文件的兩個副本沒有意義,並且可能導致版本控制問題。你第一次簽出你的項目庫時,應該把文件從Common_code複製到他們鏈接的地方。

順便說一句,我們有很多與.csproj鏈接的文件和SVN的隨機問題,所以儘量避免鏈接文件。在項目中重用文件的更好方法顯然是將它們嵌入到庫中,然後引用該庫。這應該適用於JavaScript/CSS等特定文件的例外。

另外你可能想看看SVN外部,這裏提到的一個工友可以用來在多個項目之間共享公共庫,儘管作爲一個免責聲明我沒有嘗試過這個,也不能評論其優缺點的方法。

0

感謝您的建議,我實際上做了類似於您的建議。 我不想做一個完整的圖書館,但我做了一個虛擬項目,並把我的共享文件放到那裏。 然後我將虛擬項目添加到存儲庫。

AhnkSvn現在似乎很滿意鏈接文件是在顛覆控制下,似乎處理它們就好了。 (我沒有添加任何對我現有項目的虛擬項目的參考 - 他們只是像以前一樣使用鏈接文件 - 但現在AhnkSvn向我展示了他們的狀態,並允許我獲取最新版本並提交更改。)

我可以看到具有合適的庫的情況 - 但這意味着要修改大量現有項目。這種方法讓我在不需要修改的情況下就可以在Subversion上運行。

+0

只是爲了內容的組織,這不應該是對@vakman答案的評論,而應該是一個全新的答案? – 2012-11-16 01:24:38