Hi,
I've got an svnsync mirror of a large repository, and I'm trying to do
a git-svn clone from the mirror as the main server is off site. This
works well until I try to dcommit or use git svn info.
My investigations show that working_head_info in git-svn doesn't
account for using svnsync properties, so it cannot find a log entry
that matches a config entry.
My perl isn't good enough to patch this yet, so I was wondering if
anyone else had encountered it.
I could change the config URL to match, but I'm worried this will
break things.
Phillip Hutchings(sitharus@sitharus.com)@161110-02:08:
Hi,
I've got an svnsync mirror of a large repository, and I'm trying to do
a git-svn clone from the mirror as the main server is off site. This
works well until I try to dcommit or use git svn info.
My investigations show that working_head_info in git-svn doesn't
account for using svnsync properties, so it cannot find a log entry
that matches a config entry.
My perl isn't good enough to patch this yet, so I was wondering if
anyone else had encountered it.
I could change the config URL to match, but I'm worried this will
break things.
You want to use rewriteRoot option so that changing the URL does not
break things (the URL is stored in each git commit's log).
I use something like this all the time:
[svn-remote "svn"]
rewriteRoot = svn://svn.foo.com/repo/blah <-- the master
url = svn://svn-mirror.foo.com/repo/somewhere/else/blah <-- a slave
If you've imported from the mirror without this option, then you're
stuck I think. You could work around it by swapping the URLs in the
rewriteRoot and url fields (essentially rewriting the URLs in the wrong
order), but this is strictly 'wrong'.
Tim
--
Tim Stoakes
On 16/11/2010, at 5:23 PM, Tim Stoakes wrote:
Phillip Hutchings(sitharus@sitharus.com)@161110-02:08:
quoted
Hi,
I've got an svnsync mirror of a large repository, and I'm trying to do
a git-svn clone from the mirror as the main server is off site. This
works well until I try to dcommit or use git svn info.
My investigations show that working_head_info in git-svn doesn't
account for using svnsync properties, so it cannot find a log entry
that matches a config entry.
My perl isn't good enough to patch this yet, so I was wondering if
anyone else had encountered it.
I could change the config URL to match, but I'm worried this will
break things.
You want to use rewriteRoot option so that changing the URL does not
break things (the URL is stored in each git commit's log).
I use something like this all the time:
[svn-remote "svn"]
rewriteRoot = svn://svn.foo.com/repo/blah <-- the master
url = svn://svn-mirror.foo.com/repo/somewhere/else/blah <-- a slave
If you've imported from the mirror without this option, then you're
stuck I think. You could work around it by swapping the URLs in the
rewriteRoot and url fields (essentially rewriting the URLs in the wrong
order), but this is strictly 'wrong'.
I cloned using --use-svnsync-props, this resulted in the log entries
having the correct url to the master, but git-svn being unable to
link that url back to the config entry.
Guess I'm in for a recloning then.
--
Phillip Hutchings
sitharus@sitharus.com