0

I have a C++ project library and I am preparing port from Windows to Linux. In the same time I need to reorganize the repository via svn dump.

I would like to make all filenames and directories lowercase in the svn dump using the SED and then recreate the SVN repository again.

Maybe I could make all #include "something.h" lowercase too using svn dump and SED, but I should ignore the checksum in that case. Anyway I could compare the result of new repository and old repository by some case insensitive directory comparing tool.

How should I proccess svn dump using SED to make all filenames and directories (and includes) lowercase?

I expect that it should be something like this Can I use Regular expression in svndumpfilter include statement?, but I don't really understand the SED and regular expression.

The dump need to be changed from

....
Node-path: trunk/Something/Anything.cpp
Node-action: add
Node-kind: dir
Prop-content-length: 10
Content-length: 10
PROPS-END
...

to

...
Node-path: trunk/something/anything.cpp
Node-action: add
Node-kind: dir
Prop-content-length: 10
Content-length: 10
PROPS-END
...

There are also properties Node-copyfrom-path, which need to be changed too.

Community
  • 1
  • 1
Tomas Kubes
  • 23,880
  • 18
  • 111
  • 148

1 Answers1

0

Finally I managed the job using SED. The following example is for trunk only:

sed -b -e "s#^\(Node.*path\): \(trunk/.*\)$#\1: \L\2#" repo.dump > repolower.dump
Tomas Kubes
  • 23,880
  • 18
  • 111
  • 148