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

3 messages from 2009-10-26 to 2009-10-27. Participants: Pascal Obry, Avery Pennarun, Sam Vilain.
Thread: https://gitlist.dev/t/21361

## Pascal Obry, 2009-10-26 18:49

Subject: git-svn changing file:// to svn+ssh://
Message-ID: <4AE5EF55.2070902@obry.net>
URL: https://gitlist.dev/e/4AE5EF55.2070902%40obry.net

```

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, 2009-10-26 19:18

Subject: Re: git-svn changing file:// to svn+ssh://
Message-ID: <32541b130910261218x5fdc0233jcce7c5769aad73ec@mail.gmail.com>
URL: https://gitlist.dev/e/32541b130910261218x5fdc0233jcce7c5769aad73ec%40mail.gmail.com
In-Reply-To: <4AE5EF55.2070902@obry.net>

```
On Mon, Oct 26, 2009 at 2:49 PM, Pascal Obry <pascal@obry.net> wrote:
> 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, 2009-10-27 17:17

Subject: Re: git-svn changing file:// to svn+ssh://
Message-ID: <1256663860.680.3.camel@denix>
URL: https://gitlist.dev/e/1256663860.680.3.camel%40denix
In-Reply-To: <32541b130910261218x5fdc0233jcce7c5769aad73ec@mail.gmail.com>

```
On Mon, 2009-10-26 at 15:18 -0400, Avery Pennarun wrote:
> > 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

```
