我有一个SVN存储库,它已经从CVS中移除了一段时间。它有一个branches/tags/trunk
结构。随着时间的推移,主要项目被拆分为多个图书馆项目。结构现在看起来像这样:
trunk\projects\prj1
trunk\projects\prj2
trunk\tools\tool1
trunk\tools\tool2
branches\b1\projects\prj1
...
是否有一种简单的方法(可能通过脚本)将此存储库转换为类似于以下的结构:
projects\prj1\trunk
projects\prj1\branches\b1
...
答案 0 :(得分:2)
您不需要脚本,除非您不得不多次重复此过程。只需根据需要使用svn move
和svn 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
等等。我说你不需要编写脚本的原因是因为你将拥有这么多不同的名字和通过的条件,这将是不值得的麻烦。