`

svn更换repo

阅读更多

有个一个项目projectA在repoX中(http://server/repoA/turnk/projectA),现在需要把projectA从repoX迁移到repoY中。

 

1.把projectA从repoX中dump下来

svnrdump dump  http://server/repoX/turnk/projectA > projectA.dump

 2.过滤dump文件,把空的revision去掉,并且,去掉/trunk目录

cat projectA.dump | svndumpfilter --drop-all-empty-revs --renumber-revs include  /trunk/projectA > projectA.dump.new

 3.导入到新的repoB中

svnadmin load --bypass-prop-validation http://server/repoY < projectA.dump.new

 在迁移过程中碰到的问题,

  1. 在#2过滤空revision的时候,不知道为什么,svndumpfilter会把一些不是空的rivision也过滤掉,必须使用cat加管道符的方式,才能正确的过滤空的rivision。
  2. 在#2过滤的时候如果inclde后面的目录指定的是“/”而不是"/trunk/projectA",在#3导入时就会报“/trunk” aleady exist的错。
  3. 在正式导入先可以用命令svnadmin create testRepo在本地创建一个local的repo,进行测试。比如在/Users/shqu/svn目录执行此命令,那么testRepo的SVN地址为file:///Users/shqu/svn/testRepo

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics