2010-04-26 44 views
4

烏龜會讓我在同一個倉庫中混合倉庫嗎?我想將代碼,配置和二進制文件存儲在單獨的存儲庫中。在烏龜中混合存儲庫

+0

拉塞斯已經告訴你如何做到這一點,我會重新考慮這一點。我只會使用外部的代碼來共享不同的存儲庫。如果你配置和二進制文件(爲什麼二進制文件,BTW?如果它們可以從源重新創建,不檢查它們!)屬於這些,只有這些來源,爲什麼不把它們放在一起?它對你有什麼好處? – sbi 2010-04-26 08:13:07

+0

原因是我想編寫我的生產服務器來每天拿起新鮮的二進制文件。我試圖插入這個離開的安全漏洞,我相信這裏還有一個很好的ftp解決方案。我很快就會擁有SSL,但暫時來看,這似乎是一個不錯的解決方案。我有不同的存儲庫。生產二進制文件的存儲庫實際上位於生產服務器上,使我可以擁有不同的用戶和防火牆設置。此外,我希望分支和標籤能讓我擁有不同的生產,測試和開發版本。續... – Martin 2010-04-26 09:04:50

+0

...我沒有想到這100%,你可以看到。這是一個有趣的討論。也許我會開始一個新的線程。 – Martin 2010-04-26 09:05:23

回答

4

你應該看看外部,使用svn:externals屬性,這將允許你有一個存儲庫,外部引用到其他存儲庫。

舉例來說,你可以這樣做:

trunk/       <-- repository A 
    config/      <-- repository B 
    binaries/     <-- repository C 
    code/      <-- repository A 

你不能,但是,在一個混合使用不同的存儲庫文件時複製,但可以使用的外部,從檢查出你的工作拷貝子目錄不同的儲存庫。

有關外部的更多信息,請查看svnbook:Externals Definitions

+0

完美! <填寫字符> – Martin 2010-04-26 08:58:05

0

如果您的意思是一次結帳是否可以包含來自多個存儲庫的內容,則不需要。您應該爲子代碼庫使用一個存儲庫,以獲取代碼,配置和二進制文件。

3

Subversion允許幾乎所有的混合工作副本。您可以結合不同的版本,存儲庫中的不同位置甚至不同的存儲庫。

你提到的功能與的外部完成:

http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html

然而,結合不同來源的這些混合工作副本可能難以應付。當你做出改變時,你必須記住這個事實,併爲每個來源做不同的結賬。而且你不能在不同的存儲庫之間合併東西,所以你不會有適當的歷史記錄。

老實說,我沒有理由把一個單一的項目拆分成三個不同的回購協議。

+0

你得出結論。試用後,它可以工作,但讓它被認爲它可能不值得。在我的情況下,這是出於安全原因,但有一個更好的辦法。 – Martin 2010-04-26 08:46:09