2012-08-08 64 views
1

我們有2個目錄。由於我們的(原始)部署腳本的一部分,我們SVN導出第一個到本地目錄,然後是第二個一個的SVN導出到同一本地目錄:SVN出口 - 覆蓋文件,但在含相同的子目錄結構的SVN倉庫不會刪除目錄

repo/project/trunk/dir1/ 
repo/project/trunk/dir1/a/ 
repo/project/trunk/dir1/a/foo.txt 

repo/project/trunk/dir2/ 
repo/project/trunk/dir2/a/ 
repo/project/trunk/dir2/a/foo.txt 

在我們的場景,DIR1是生產版本的某些文件,以及dir2和待開發團隊尚未發佈的文件的待處理更改。因此,我們希望svn導出覆蓋磁盤上的文件。

SVN出口將不會填充現有目錄; --force標誌是必需的。 SVN出口--force不能解決現有的目錄,它再現目錄完全。因此,我們的第二個svn導出銷燬了dir1的本地導出,並且僅留下了dir2的內容。

有沒有什麼辦法讓SVN導出做什麼,我們want--從DIR1獲取文件,把它們放在一個本地目錄,並覆蓋在DIR1的頂部DIR2的內容是什麼?

回答

0

我不認爲svn export將允許這種行爲。沒有使用實際分支,使用rsync來創建第三個「組合」目錄是否可以接受?

東西沿着這些路線:

# export 'dir1' to 'production' 
svn export repo/project/trunk/dir1 production 
# export 'dir2' to 'development' 
svn export repo/project/trunk/dir2 development 

# sync contents from 'production' to 'combined' 
rsync -a production/ combined 
# sync contents from 'development' to 'combined' 
rsync -a development/ combined 
+0

這是我們目前的解決方法,但我們使用Xcopy將內容結合起來,而不是rsync的。 – gap 2012-08-08 14:27:45