2010-06-12 69 views
0

我在兩個位置有重複的目錄結構,我需要在svn存儲庫中合併在一起。通過「合併」,我的意思是我希望結構爲b的所有文件和文件夾都被移入結構a。當我試圖做到這一點使用svn move我得到的錯誤將重複的目錄結構移動到另一個

svn: Path 'com' already exists 

該文件夾的樣子:

src 
-> com 
    -> (many more files and directories) 
-> java 
    -> com 
     -> (some files and folders, some folders overlap but all files are unique) 

src\comasrc\java\comb

+0

在與幾個人交談並試驗了幾個小時後,我想知道這是否可能與svn。我上週在svn的經歷大大降低了我對它的看法。使用Mercurial或git imo。不幸的是,在我的情況下不是一個選項,它是一個10年的存儲庫,有50個開發人員和50個其他人閱讀。 – nash 2010-06-18 01:57:50

回答

0

在與幾個人交談之後,我得出了svn不支持這種行爲的結論。

通過編寫讀取java \ com內容的腳本併爲每個項目生成svn move命令,可以產生相同的結果。如果在許多級別上有重疊的文件和目錄,那麼這將不起作用。可以通過展開腳本來抓取目錄層次結構,標記重疊部分並移動其內容,從而處理目錄重疊。文件重疊必須手動處理,並且任何腳本都不能決定在所有情況下保留哪個文件。

0

您可以svn將源'com'路徑的整個歷史記錄合併到目標路徑,這將保留這些文件的歷史記錄,例如

svn merge -r 1:HEAD svn://repository-path-to/com working-copy-path-to/com 

您需要確保版本範圍包括將第一個文件添加到源'com'文件夾的版本。

+0

這沒有奏效。我跑過每一個變化,我都能做到,沒有任何事情發生,沒有錯誤,沒有變化,沒有任何事情。雖然我很欣賞:) – nash 2010-06-18 01:55:10

相關問題