threads / discuss / 21361

git-svn changing file:// to svn+ssh://

Subject: git-svn changing file:// to svn+ssh://

## tl;dr

3 messages between Oct 26, 2009 and Oct 27, 2009.

replies: 2people: 3as markdown or json

Pascal Obry· Oct 26, 2009, 18:49 UTC · lore
I'm working on preparing Git SVN mirrors.
I had tested my procedure on a small project and it was working fine.
On a large project it is failing. Here is what I have done:
I have cloned the repository using:
    $ git svn clone --prefix=svn/ file:///path/repo \
	--revision=15314:HEAD --trunk=trunk/project \
	--tags=tags/project --branches=branches/project \
	--branches="branches/global/*/project" project
Not simple, ok but working :)
Now I have converted the file:// to svn+ssh:// using:
    $ git gc
    $ git filter-branch --msg-filter \
     'sed "s,git-svn-id: file:///path/repo,git-svn-id: 
svn+ssh://server/repo,g"' \
     $(cat .git/packed-refs | awk '// {print $2}' | grep -v 'pack-refs')
    $ rm -fr .git/svn
I have edited .git/config to change the url string too.

Up to there, no problem. But when trying to rebase and reconstruct all rev_map files with:

    $ git svn rebase
I get the following lines again and again:

Rebuilding .git/svn/svn/trunk/.rev_map.f8352e7e-cb20-0410-8ce7-b5d9e71c585c ... Done rebuilding .git/svn/svn/trunk/.rev_map.f8352e7e-cb20-0410-8ce7-b5d9e71c585c Rebuilding .git/svn/svn/trunk/.rev_map.f8352e7e-cb20-0410-8ce7-b5d9e71c585c ... Done rebuilding .git/svn/svn/trunk/.rev_map.f8352e7e-cb20-0410-8ce7-b5d9e71c585c

...

The file .git/svn/svn/trunk/.rev_map.f8352e7e-cb20-0410-8ce7-b5d9e71c585c is in fact not created.

What could be wrong?
How should I proceed to debug this?
Any help appreciated.
Last note I've tried all this with Git 1.6.4 and 1.6.5.

Thanks, Pascal.

-- 
--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|    http://www.obry.net  -  http://v2p.fr.eu.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B
Avery Pennarun· Oct 26, 2009, 19:18 UTC · re: Pascal Obry · lore

Re: git-svn changing file:// to svn+ssh://

On Mon, Oct 26, 2009 at 2:49 PM, Pascal Obry <pascal@obry.net> wrote:
Show 12 quoted lines
> On a large project it is failing. Here is what I have done:
>
> I have cloned the repository using:
>
>   $ git svn clone --prefix=svn/ file:///path/repo \
>        --revision=15314:HEAD --trunk=trunk/project \
>        --tags=tags/project --branches=branches/project \
>        --branches="branches/global/*/project" project
>
> Not simple, ok but working :)
>
> Now I have converted the file:// to svn+ssh:// using:
I'm not sure about the actual bug you're experiencing, but you could
have done this more simply using the --rewrite-root option to git-svn.
 It might still save you time to just do that from scratch.

If you really want to debug it, you might want to run it through 'strace' and see if it's having any trouble creating those files.

Have fun,
Avery
Sam Vilain· Oct 27, 2009, 17:17 UTC · re: Avery Pennarun · lore

Re: git-svn changing file:// to svn+ssh://

On Mon, 2009-10-26 at 15:18 -0400, Avery Pennarun wrote:
Show 5 quoted lines
> > Now I have converted the file:// to svn+ssh:// using:
> 
> I'm not sure about the actual bug you're experiencing, but you could
> have done this more simply using the --rewrite-root option to git-svn.
>  It might still save you time to just do that from scratch.

Another thing: if your file:// repository was copied from the original location using SVN::Mirror or svnsync, then git-svn is capable of reading the breadcrumbs left by those tools with a switch and rewriting the git-svn-id: lines accordingly.

Sam

← back to recent threads