Re: Using git-svn with svnsync mirror
On 16/11/2010, at 5:23 PM, Tim Stoakes wrote:
Show 29 quoted lines
> 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'.
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