threads / discuss / 15383

git-svn and complex branch/tag layout

Subject: git-svn and complex branch/tag layout

## tl;dr

3 messages between Sep 5, 2008 and Sep 7, 2008.

replies: 2people: 3as markdown or json

Andriy Gapon· Sep 5, 2008, 13:53 UTC · lore

I am trying to use 'git svn' with FreeBSD base repository (which is now in svn). As can be seen here in "RELENG_* branches and general layout" section: http://wiki.freebsd.org/SubversionPrimer

There are several subdirectories for branches and tags depending on the status of a branch/tag in question. As I understand those subdirectories do not introduce separate namespaces, i.e. a particular tag/branch name is supposed to be unique across all subdirectories.

Does git-svn support repository layouts with multiple branch/tag subdirectories? Or does it only support "standard layout" variations that still have only one subdirectory for each?

Thank you in advance for any help/advice!
-- 
Andriy Gapon
Eric Wong· Sep 7, 2008, 02:56 UTC · re: Andriy Gapon · lore

Re: git-svn and complex branch/tag layout

Andriy Gapon <avg@icyb.net.ua> wrote:
Show 16 quoted lines
> 
> I am trying to use 'git svn' with FreeBSD base repository (which is now
> in svn).
> As can be seen here in "RELENG_* branches and general layout" section:
> http://wiki.freebsd.org/SubversionPrimer
> 
> There are several subdirectories for branches and tags depending on the
> status of a branch/tag in question. As I understand those subdirectories
> do not introduce separate namespaces, i.e. a particular tag/branch name
> is supposed to be unique across all subdirectories.
> 
> Does git-svn support repository layouts with multiple branch/tag
> subdirectories? Or does it only support "standard layout" variations
> that still have only one subdirectory for each?
> 
> Thank you in advance for any help/advice!
Hi Andriy,
For tracking /etc, this seems to work:
  git svn clone -b 'releng/*/etc' -t 'release/*/etc' svn://svn.freebsd.org/base
  (it started, I don't have the time/space/bandwidth to let it finish).

Unfortunately only releng and release, you can get other namespaces like stable.

Double-globbing should work, (I thought Marcus got it to work a few months ago), but doesn't seem to at the moment:

  git svn clone -b '*/*/etc'
Marcus?
The long way:

If you explicitly specify every branch you want, it'll definitely, too. It's just a huge pain to setup since you'll lose all the advantages of globbing, so it could end up being a very big .git/config file:

[svn-remote "svn"]
        url = svn://svn.freebsd.org/base
	fetch = releng/4.3/etc:refs/remotes/releng/4.3/etc
	fetch = release/4.3.0/etc:refs/remotes/release/4.3.0/etc
	fetch = stable/4/etc:refs/remotes/stable/4/etc
	; ...
-- 
Eric Wong
Marcus Griep· Sep 7, 2008, 16:45 UTC · re: Eric Wong · lore

Re: git-svn and complex branch/tag layout

Eric Wong wrote:
Show 6 quoted lines
> Double-globbing should work, (I thought Marcus got it to work a few
> months ago), but doesn't seem to at the moment:
> 
>   git svn clone -b '*/*/etc'
> 
> Marcus?

I'm not sure about starting with multi-globs, but I've been using the 'branches/*/*' form for a while now at work. I can try to look into the '*/*' and '*/*/blah' forms this week.

-- 
Marcus Griep
GPG Key ID: 0x5E968152
——
http://www.boohaunt.net
את.ψο´

← back to recent threads