2013-07-29 67 views
0

我有一個SVN倉庫,它從CVS移回來。它有一個branches/tags/trunk結構。隨着時間的推移,主項目被拆分爲多個圖書館項目。結構現在看起來是這樣的:是否可以自動更改svn存儲庫佈局?

trunk\projects\prj1 
trunk\projects\prj2 
trunk\tools\tool1 
trunk\tools\tool2 
branches\b1\projects\prj1 
... 

有沒有一種簡單的方法(可能是通過一個腳本),這個倉庫轉變成類似的結構:

projects\prj1\trunk 
projects\prj1\branches\b1 
... 

回答

2

你並不需要一個腳本,除非你不得不多次重複這個過程。只要適當地使用svn movesvn rename來重新排列結構。您可以使用存儲庫URL執行此操作,也可以使用sparse directories儘可能少地檢出存儲庫,然後移動所有內容,然後進行提交。

svn mkdir /projects/prj1 --parents 
svn mkdir /projects/prj1/branches --parents 
svn move trunk/projects/prj1 /projects/prj1/trunk 
svn move branches/b1/projects/prj1 /projects/prj1/branches/b1 

依此類推。我說你不需要編寫腳本的原因是因爲你將有許多不同的名字&條件來解決它,這將是不值得的麻煩。

+0

使用統一中繼,創建分支時,它複製了所有項目。但可能只有少數人被修改。有沒有辦法檢查一個項目是否在分支中被修改?如果它沒有修改,那麼我可能不想將它移動到分支。甚至,我可能只想從它在統一分支中修改的角度進行分支。 – abir

+0

使用'svn log - 停止複製'查找對分支的更改。 – alroc

相關問題