2008-09-17 59 views
3

我就要搬到SVN爲我選擇的RCS(經過多年使用CVS),並有一個基本的問題...SVN結賬問題

我有一些共同的項目 - 代碼,我想與許多不同的項目一起使用。是否有可能將這些共享文件夾「鏈接」到需要它們的項目,因此簽出項目也會檢出共享代碼?

例如,假設我的倉庫看起來是這樣的:


--project1
--project2
--shared
--smtp

當我結帳PROJECT1,我也想結賬分享和smtp。

回到我的CVS日子裏,我會在其中一個項目文件夾中使用Unix符號鏈接,但由於我的新SVN存儲庫不一定會託管在Unix盒子上,所以我不能這樣做。

回答

11

SVN的外部對象是你想要做什麼。 SVN書籍詳細解釋​​了它here。這是我喜歡關於SVN的絕佳文檔。

0

這是SVN「外部對象」是。

0

是的,看看SVN Externals

+0

4個相同的答案在14秒的空間。不錯... – 2008-09-17 21:30:54

0

SVN有一個「外部」的功能基本上相同的方式工作的符號鏈接UNIX工作(你點某個目錄其他地方是在你的倉庫一個地方到另外的目錄版本庫)。

有關如何設置的外部,看到這進一步信息: http://svnbook.red-bean.com/en/1.0/ch07s03.html

希望有所幫助。

2

您正在尋找「SVN:外部對象」屬性。請參閱svnbook的this部分:

在要使用共享項目的項目下,然後在名爲「svn:externals」的目錄中設置屬性。該屬性包含包含外部存儲庫的目錄的名稱,並且可以包含其他一些選項,以便始終獲得相同的修訂。

實施例(從svnbook,這是問題的svn一個很好的參考):

$ svn propget svn:externals calc 
third-party/sounds    http://svn.example.com/repos/sounds 
third-party/skins -r148  http://svn.example.com/skinproj 
third-party/skins/toolkit -r21 http://svn.example.com/skin-maker 
在這個例子中

,第三方/聲音將從http://svn.example.com/repos/sounds檢出。 -rNNN將檢出設置爲修訂版,以便如果您在此方面進行了更多開發,則可以確保其他項目不會隨機中斷。一般來說,我不是在做這個修改的東西,而是在一個擁有穩定版本的標籤外面。