SVN版本目录导出并拆分为一个一级目录

其他的不说了,需求如下:

原来的库有2个子库:

/rep1/trunk

/rep1/docs

/rep2/trunk

/rep2/docs

现在需要把rep1和rep2拆分为单独的库,那么新的库目录应该是:

/trunk

/docs

即没有rep1和rep2这2种目录了。

通过dump为全部转储后,用filter来过滤:

svndumpfilter include rep1 --drop-empty-revs --renumber-revs < all.dmp > rep1.dmp

然后,看清了,用notepad++打开这个rep1.dmp,搜索

Node-path: rep1
及:
Node-copyfrom-path: rep1

上面搜索最好不要斜杠/,具体是:

Node-path: rep1/abc

以及:

Node-copyfrom-path: rep1/abc


并全部替换为空,空,不是空格。即变成这样:


Node-path: abc

Node-copyfrom-path: abc


还有把创建rep1的指令删掉,即删掉这一坨:

Node-path: rep1
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10

PROPS-END


保存rep1.dmp

最后用load加载到新库!

可以参考官方文档:

仓库维护 (red-bean.com)

尝试如下步骤:

rem: 成功,版本号不连续
svndumpfilter include project-rep1 < myrep.dmp > project-rep1.dmp
svnadmin load i:\SVNServer\rep1 < i:\svn_dump_data\project-rep1.dmp

rem: 也成功,版本号连续起来
svndumpfilter include project-rep1 --drop-empty-revs --renumber-revs < myrep.dmp > project-rep1.dmp
svnadmin load i:\SVNServer\rep1 < i:\svn_dump_data\project-rep1.dmp


本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com