Open flip111 opened 4 years ago
I didn't look into the actual issue, but your assumptions are a bit off I think.
Here path is declared https://github.com/svn-all-fast-export/svn2git/blob/master/src/svn.cpp#L709 (supposingly intialized with null, looking at what gdb tells me).
Correct
Here it would have been changed if it wasn't null in the first place https://github.com/svn-all-fast-export/svn2git/blob/master/src/svn.cpp#L467-L471
This is not correct I think.
The call in 710 is splitPathName(..., &path);
, so a pointer to the path
variable is given to the method.
In 467 with if (path_p) {
it is checked that the pointer is not null
, not what it points to.
And in 470 with *path_p =
the variable the pointer points to is set, so after the method call in 710 returns, path
is set.
Your problem is, that you try to export the SVN repo in /home/flip111/tmp/schreikasten into the Git repo /home/flip111/tmp/schreikasten which is the same directory.
As the directory already exists, svn2git
assumes it is the Git directory (it supports incremental running) and does not create it.
stderr
tells you Failed to write to process: Error writing to process
log-schreikasten
tells you fatal: Not a git repository (or any of the parent directories): .git
The latter is the message from git
process that is started by svn2git
to receive the generated dump stream.
The former is from svn2git
as it cannot write to the process as it wasn't able to start.
Rename schreikasten
to schreikasten.svn
or whatever and use it as input, then your conversion will work properly.
Btw. just in case you didn't know, SVN has its own remote dump tool shipped called svnrdump
.
Here
path
is declared https://github.com/svn-all-fast-export/svn2git/blob/master/src/svn.cpp#L709 (supposingly intialized withnull
, looking at what gdb tells me).Here it would have been changed if it wasn't
null
in the first place https://github.com/svn-all-fast-export/svn2git/blob/master/src/svn.cpp#L467-L471Here it gets used https://github.com/svn-all-fast-export/svn2git/blob/master/src/svn.cpp#L874
Not sure if the path can be set somewhere between line 709 and 874 .. but in my case this doesn't happen and svn-all-fast-export crashes.
This is my rule file
rsvndump compile from source (today)
These are the commands to create the repository
Command line options
Backtrace
For reference i used
qmake CONFIG+=debug
to get debug symbols.