2010-01-14 12 views
12

兩個舞伴,真正做到:SVN:我如何僅用中繼結帳整個源樹?

  1. 我怎麼籤的整個源代碼樹,但只得到一切的樹幹,忽略所有分支和標籤?

  2. 假設#1是可行的,有沒有辦法讓那裏沒有任何「trunk」目錄,並且只是讓這些文件駐留在一個文件夾中,並且存儲庫的名稱?

回答

23

大多數SVN repostiories的結構是這樣的:

/ 
|-- /branches 
|-- /tags 
`-- /trunk 
    |-- foo 
    `-- bar 

因此,如果庫的根是在http://www.example.com/svn,您可以運行

svn co http://www.example.com/svn/trunk 

退房只是後備箱。如果你想爲項目命名後已簽出的文件夾,只需添加項目名稱到命令行:

svn co http://www.example.com/svn/trunk myproject 

這個命令應該產生這樣的目錄結構:

myproject/ 
|-- foo 
`-- bar 
+1

我不能同意。在你的樹中,你只有一個項目。問題是隻得到trunk * S * - 複數 - 我假設SVN中的一個文件夾中有很多項目。 – 2015-03-20 13:14:55

5

不,不可能。你可以做的是創建一個新的項目添加定義從它到其他項目中繼的外部鏈接。外部鏈接像softlink一樣工作。

然後你就可以一步到位了。

http://svnbook.red-bean.com/en/1.0/ch07s03.html

+2

我低估了這個答案,因爲它不正確。通過做Nick Meyer的回答中描述的內容或創建多個工作副本,詢問者要求的內容當然是可能的。我也認爲使用'svn:externals'的建議不是一個好的解決方法。 – 2010-01-14 19:33:51

+2

由於原提問者沒有提供他/她想要完成的細節,所以我認爲值得推薦svn:externals解決方案。在某些情況下,這可能是最好的解決方案。 – RjOllos 2010-02-28 05:45:27

1

提供的所有文件夾具有相同的根目錄結構,你可以在Windows中使用此批處理命令從根檢查了所有主幹文件夾:

for /F %%A IN ('svn list <your root URL here>') do svn co <your root URL here>/%%Atrunk ./%%A 
+1

的作品,只要確保你使用一個%,如果不是在一個批處理文件中,但在命令行和trunk是區分大小寫的,在我的情況下它必須是TRUNK 如果用戶名和密碼是必需的,你也需要添加它們 – peter 2018-01-23 09:46:15