制作小写路径并包含在 SVN 转储中
Posted
技术标签:
【中文标题】制作小写路径并包含在 SVN 转储中【英文标题】:Make lowercase path and includes in SVN dump 【发布时间】:2014-04-29 14:09:42 【问题描述】:我有一个 C++ 项目库,我正在准备从 Windows 到 Linux 的端口。同时我需要通过 svn dump 重新组织存储库。
我想使用 SED 将 svn 转储中的所有文件名和目录设为小写,然后再次重新创建 SVN 存储库。
也许我也可以使用 svn dump 和 SED 将所有 #include "something.h" 设为小写,但在这种情况下我应该忽略校验和。无论如何,我可以通过一些不区分大小写的目录比较工具来比较新存储库和旧存储库的结果。
我应该如何使用 SED 处理 svn dump 以使所有文件名和目录(包括)小写?
我希望它应该是这样的 Can I use Regular expression in svndumpfilter include statement?,但我不太了解 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,也需要改一下。
【问题讨论】:
请添加一些示例数据和相同的预期输出,以更好地帮助您。 【参考方案1】:最后,我使用 SED 管理了这项工作。以下示例仅适用于中继:
sed -b -e "s#^\(Node.*path\): \(trunk/.*\)$#\1: \L\2#" repo.dump > repolower.dump
【讨论】:
以上是关于制作小写路径并包含在 SVN 转储中的主要内容,如果未能解决你的问题,请参考以下文章