我有一个C++项目库,正在准备从Windows到Linux的端口。同时,我需要通过svn转储重新组织存储库。
我想使用SED使svn转储中的所有文件名和目录小写,然后再次重新创建svn存储库。
也许我也可以使用svn-dump和SED使所有#include"something.h"小写,但在这种情况下我应该忽略校验和。无论如何,我可以通过一些不区分大小写的目录比较工具来比较新存储库和旧存储库的结果。
我应该如何使用SED处理svn转储以使所有文件名和目录(包括(小写?
我希望它应该是这样的。我可以在svndumpfilter include语句中使用正则表达式吗?,但我并不真正理解SED和正则表达式。
转储需要从更改
....
Node-path: trunk/Something/Anything.cpp
Node-action: add
Node-kind: dir
Prop-content-length: 10
Content-length: 10
PROPS-END
...
至
...
Node-path: trunk/something/anything.cpp
Node-action: add
Node-kind: dir
Prop-content-length: 10
Content-length: 10
PROPS-END
...
还有一些属性Node copyfrom path,也需要更改。
最后我用SED管理了这项工作。以下示例仅适用于中继:
sed -b -e "s#^(Node.*path): (trunk/.*)$#1: L2#" repo.dump > repolower.dump