2008-09-16 56 views
3

我最近正在使用一個subversion項目,該項目不僅從我正在使用的存儲庫檢出代碼,還從不同服務器上的單獨存儲庫中檢出代碼。我怎樣才能讓顛覆者檢出來自其他倉庫的項目?

如何配置我的存儲庫來執行此操作?

我在Linux上使用Subversion客戶端版本1.3.2,我也可以訪問Windows中的TortoiseSVN版本1.4.8(基於svn版本1.4.6)。

回答

11

svn:externals

有時候,構建一個由出了一些不同檢出的工作副本是有益的。例如,您可能希望不同的子目錄來自存儲庫中的不同位置,或者可能來自不同的存儲庫。你當然可以手動設置這種場景,使用svn checkout來創建你試圖實現的嵌套工作副本結構。但是,如果這種佈局對使用存儲庫的每個人都很重要,那麼每個其他用戶都需要執行與您所做的相同的結帳操作。

幸運的是,Subversion支持外部定義。外部定義是本地目錄到版本化資源的URL映射(可能還有特定版本)。在Subversion中,您使用svn:externals屬性在組中聲明外部定義。您可以使用svn propsetsvn propedit(請參閱the section called 「Why Properties?」)創建或修改此屬性。它可以在任何版本化的目錄中設置,它的值是一個多行的子目錄表(相對於設置屬性的版本化目錄)和完全限定的絕對Subversion版本庫URL ...