Trying to convert a SVN repo to Git. The Ruby version works, but does not commit all the files with the correct CRLF chars – seems to ignore the global settings.

svn2git --rootistrunk --verbose > x

I can reconvert the repo afterwards to fix the endings (see this) but it makes diffing before and after tricky. Tried to hack the Ruby code to add “text = *” to the .gitattributes file. No dice.

So I tried another version of svn2git based on Qt. First, use Linux. Windows would have no chance.

Installed the Qt libs. I build subversion, apr, and aprutil from scratch, and then link failed. Tried:

export LD_LIBRARY_PATH=/usr/local/lib
export QTDIR=/home/dchwalis/tools/QtSDK/Desktop/Qt/4.8.1/gcc

Changed all the APR includes to local

# must use local APR
APR_INCLUDE = /usr/local/apr/include/apr-1 
APR_LIB_DIR = /usr/local/apr/lib
APR_UTIL_INCLUDE = /usr/local/apr/include/apr-1 
APR_UTIL_LIB_DIR = /usr/local/apr/lib

and rules :

create repository demo-convert 
end repository

match /trunk/
  repository demo-convert
  branch master
end match

So it compiled and linked. But when I run I got an error message, basically SVN could not use the "http:" access method. Looks like I was missing the neon lib. (ra_neon). Download and build neon. No change. Sigh.

Then I apt-get all the -dev versions of subversion, APR, and APR-util. Changed all the APR includes to local

SVN_INCLUDE = /usr/include/subversion-1
APR_INCLUDE = /usr/include/apr-1.0/
APR_LIB_DIR = /usr/lib
SVN_LIBDIR = /usr/lib

Now it works, but there is a problem with the SVN itself.

Invoked as:' ./svn-all-fast-export --rules=rules'
WARNING; no identity-map specified, all commits will be without email address
Loading rules from "rules" 
svn: Can't open file '': No such file or directory
Failed to open repository 

Sigh. I give up.


You must be logged in to post a comment.

Name (required)

Email (required)


Speak your mind