Re: git svn: Supporting multiple branch subdirs?
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Jun 18, 2009, 14:03 UTC
- Message-ID
- <4A3A4945.6050307@drmicha.warpmail.net>
- In-Reply-To
- <4A390AFE.5070703@xiplink.com>
Marc Branchaud venit, vidit, dixit 17.06.2009 17:25:
Show 18 quoted lines
> Michael J Gruber wrote: >> >>> (Shouldn't that fetch line be head:refs/remots/head, since there's nothing called >>> "trunk" in the svn repo? I used git-svn init --trunk=head ...) >> >> The left hand side of the refspec refers to the svn repo, the right hand >> side only names your local ref. Feel free to put "head" there, although >> this can be confused very easily with "HEAD" which has special meaning >> in git. > > Sure. I was mostly wondering why --trunk=head didn't just reuse the name in my local ref. A minor bug, perhaps? > > (And the FreeBSD community commonly refers to that branch as "current", so that's a name I can use locally.) > >> P.S.: Let me know if you give it a shot, so that we don't duplicate our >> waste of time... > > I have some cycles to work on this, but I'd need some guidance around git-svn's internals. I'm not even sure where to start implementing the "branches2" hack you described...
Heck it's perl, so don't even try to understand the code - after all, perl only barely missed the final round in the last competition for the next cryptographic algorithm!
That being said, I did some clueless hacking in git-svn.perl and let it run against the freebsd repo. Now, how's that:
~/src/git/git-svn fetch -r1:10000
git branch -r releng/2.0.5 releng/ALPHA_2_0 releng/BETA_2_0 stable/2.0.5 stable/2.1 tags/2.0 tags/2.0.5 trunk
The revision graph looks OK as well. The git-svn config which I used is:
[svn-remote "svn"]
url = svn://svn.freebsd.org/base
fetch = head:refs/remotes/trunk
branches = releng/*:refs/remotes/releng/*
branchse = stable/*:refs/remotes/stable/*
tags = release/*:refs/remotes/tags/*No typo there, my git svn knows about "branches" and "branchse" now ;) BTW: In fact there is overlap between releng and stable branches in the feebsd repo, see 2.0.5.
I'll send a monkey patch in a minute.
Michael