# git-svn: importing branches later

4 messages from 2007-05-07 to 2007-05-08. Participants: Michael Hendricks, Karl Hasselström, Seth Falcon.
Thread: https://gitlist.dev/t/8018

## Michael Hendricks, 2007-05-07 19:07

Subject: git-svn: importing branches later
Message-ID: <20070507190702.GE342@ginosko.local>
URL: https://gitlist.dev/e/20070507190702.GE342%40ginosko.local

```
I've cloned the trunk of a SVN repository using git-svn and now I want
to bring in just a couple of the branches from the same repository.
I've not been able to discover anything that works.  Basically, I've
done this

$ git svn clone $URL -T trunk git-repo

Now I want to import the 'foo' branch from the same SVN repo without
grabbing all the branches.  Any suggestions?

Thanks.

-- 
Michael

```

## Karl Hasselström, 2007-05-08 08:51

Subject: Re: git-svn: importing branches later
Message-ID: <20070508085149.GB24409@diana.vm.bytemark.co.uk>
URL: https://gitlist.dev/e/20070508085149.GB24409%40diana.vm.bytemark.co.uk
In-Reply-To: <20070507190702.GE342@ginosko.local>

```
On 2007-05-07 13:07:06 -0600, Michael Hendricks wrote:

> Now I want to import the 'foo' branch from the same SVN repo without
> grabbing all the branches. Any suggestions?

I seem to recall that just adding another "fetch" line to the git-svn
configuration in .git/config will do this for you.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

```

## Seth Falcon, 2007-05-08 14:51

Subject: Re: git-svn: importing branches later
Message-ID: <m2odkv2wtd.fsf@ziti.local>
URL: https://gitlist.dev/e/m2odkv2wtd.fsf%40ziti.local
In-Reply-To: <20070508085149.GB24409@diana.vm.bytemark.co.uk>

```
Karl Hasselström <kha@treskal.com> writes:

> On 2007-05-07 13:07:06 -0600, Michael Hendricks wrote:
>
>> Now I want to import the 'foo' branch from the same SVN repo without
>> grabbing all the branches. Any suggestions?
>
> I seem to recall that just adding another "fetch" line to the git-svn
> configuration in .git/config will do this for you.

Yes, this should work.  As long as you started out with a fairly
recent git (sorry, I don't know how recent is needed) you should have
in your repository a git/config file containing something like:

    [svn-remote "svn"]
    	url = http://main.svn.url.com/
    	fetch = trunk:refs/remotes/git-svn
    	fetch = branches/b1:refs/remotes/b1  <-- this line added by you

Then a 'git svn fetch' should pull it all down and you can checkout
the branch using 'git checkout -b myb1 remotes/b1'.  At this point,
'git svn rebase' is smart enough to know where the branch comes from.

What may not work when you add branches in this way is that the
history may not connect with the actual branch commit in svn.  I'm
fairly sure there is some way to fix that, but I haven't done it.

+ seth

```

## Michael Hendricks, 2007-05-08 15:34

Subject: Re: git-svn: importing branches later
Message-ID: <20070508153428.GB5349@ginosko.local>
URL: https://gitlist.dev/e/20070508153428.GB5349%40ginosko.local
In-Reply-To: <m2odkv2wtd.fsf@ziti.local>

```
On Tue, May 08, 2007 at 07:51:10AM -0700, Seth Falcon wrote:
> Karl Hasselström <kha@treskal.com> writes:
> 
> > On 2007-05-07 13:07:06 -0600, Michael Hendricks wrote:
> >
> >> Now I want to import the 'foo' branch from the same SVN repo without
> >> grabbing all the branches. Any suggestions?
> >
> > I seem to recall that just adding another "fetch" line to the git-svn
> > configuration in .git/config will do this for you.
> 
> Yes, this should work.  As long as you started out with a fairly
> recent git (sorry, I don't know how recent is needed) you should have
> in your repository a git/config file containing something like:
> 
>     [svn-remote "svn"]
>     	url = http://main.svn.url.com/
>     	fetch = trunk:refs/remotes/git-svn
>     	fetch = branches/b1:refs/remotes/b1  <-- this line added by you

Thanks Seth and Karl, that does indeed work.

I noticed that after changing .git/config and running fetch, git-svn
retrieves the log for the entire project (presumably because it doesn't
know when the new branch was created).  In one project with ~30,000
revisions, I found it beneficial to specify "git svn fetch -r
12345:HEAD" where revision 12345 is somewhere close to and before the
point at which the new branch was created from trunk.  That makes the
initial fetch must faster.

-- 
Michael

```
