首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以通过svndumpfilter更改存储库中的目录名称?

是否可以通过svndumpfilter更改存储库中的目录名称?
EN

Stack Overflow用户
提问于 2009-09-28 10:55:51
回答 4查看 4.2K关注 0票数 9

是否可以重命名svn存储库中的目录。

不创建将重命名此目录的新修订。

我想从第一个修订版开始更改此目录的名称。

据我所知,svndumpfilter实用程序可以用于此目的。

这是正确的吗?

有没有人能给我举个小例子怎么做?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-07 10:46:38

您应该svnadmin转储您的存储库,处理转储文件,然后svnadmin将处理后的文件加载到一个空的存储库中。不需要svndumpfilter。

代码语言:javascript
复制
svnadmin dump /repos/path > old.dump

转储文件可以使用Sed或其他工具进行处理(确保二进制数据不会损坏),并替换目录名称。例如:

代码语言:javascript
复制
sed -b -e "s#^\(Node.*path\): dir1/dir_old#\1: dir1/dir_new#" old.dump > new.dump

处理完转储文件后:

代码语言:javascript
复制
svnadmin create /newrepos/path
svnadmin load /newrepos/path < new.dump
票数 7
EN

Stack Overflow用户

发布于 2015-09-26 11:48:09

我当然建议不要使用sed,因为它不知道文件格式,因此很容易使SVN转储文件不可用。

此外,如果您想替换的不仅仅是一个路径,您还需要更新或简单地删除SHA1和MD5校验和。

修改SVN转储实际上并不像乍看起来那么简单。

昨天我也遇到了同样的问题,为此我写了一个小程序。我在这里发布了它,供每个人使用:

https://github.com/nlmarco/svndumptransformer

它是自由软件,如果你想/需要更多功能,欢迎你修改它。

此程序仅修改文本内容(如果文件-例如图像-被标记为具有mime类型"application/octet-stream",则不会被修改)。而且,由于它真正读取和理解SVN转储格式,因此它不会修改属于SVN转储的结构数据-与上面的sed命令不同。

对我来说,这个程序目前在重命名产品时运行良好-导致所有路径以及项目配置文件( Java )和几十个=>类被重命名。

我希望这个程序对其他人也有用。

顺便说一句。我知道这个问题已经很久了,但我希望我的答案能帮助其他遇到这个问题的人。

票数 6
EN

Stack Overflow用户

发布于 2018-06-13 09:00:51

https://metacpan.org/pod/release/SALVA/SVN-DumpReloc-0.02/bin/svn-dump-reloc看起来很有趣,但并不(正如它所说的)检查目录是否丢失或重复。我将编写一些自定义的…

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1486447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档