git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-svn: Having a "rare" structure

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Nov 5, 2008, 13:07 UTC
Message-ID
<49119AAD.2010803@drmicha.warpmail.net>
In-Reply-To
<2686a05b0811050204v59edc4a3h7f9ce6c6ecd13058@mail.gmail.com>
Marc Fargas venit, vidit, dixit 05.11.2008 11:04:
Show 49 quoted lines
> Hi all,
> 
> First of all, please CC responses to me as I'm not subscribed to this list ;)
> 
> On the subject, I use git-svn to for most of my stuff and also to
> "interact" with some SVN projects out there, there's one that is
> driving me mad.
> 
> The Django project has a (somehow) rare SVN structure that I almost
> managet to make git-svn understand, but a recent "rarity" to the
> structure broke it again and I haven't succeeded in making git-svn
> understand it, so I'm trying to get some guidance on how to make
> git-svn understand the structure.
> 
> Right know the Django SVN repo is like that:
> browse: http://code.djangoproject.com/browser/django
> svn url:  http://code.djangoproject.com/svn/django
> 
> trunk/
> tags/notable_moments/
> tags/releases/
> branches/*
> branches/features/
> branches/releases/
> 
> Until now, the last two didn't exist and git-svn was working nicely,
> but now "features" and "releases" were created, and git-svn is taking
> them as if they were branches, while they arent (branches are in
> subdirectories of those two).
> 
> My git repo was done like that until now:
> 
>     git svn init --prefix svn/
> http://code.djangoproject.com/svn/django -T trunk -b branches -t
> 'tags/*/*'
>     git svn fetch
> 
> With that, git-svn understood that tags were in the subdirectories of
> tags/{notable_moments,releases}/ but I can't do that with the branches
> as there are branches also in the top branches/ directory.
> 
> I do not really care about those branches on the top directory as
> those are old, so I really only need git-svn to understand the
> {features,releases}/* thing. So:
> 
> How can I do something like "-b branches/{features,releases}/*" making
> git-svn ignore the other top-level branches? Or, can I make it
> understand both, the top-level ones and the ones inside those two
> subdirectories?

You can use "-T trunk -t 'tags/*/*'" and then set up the branches config by hand:

git config svn-remote.svn.branches 'django/branches/features/*:refs/remotes/svn/features/*'

git config --add svn-remote.svn.branches 'django/branches/releases/*:refs/remotes/svn/releases/*'

In fact, you should be able to use your previous branches config when fetching up to r9093, then switch to the config I suggested, and the fetch from r9094.

Cheers, Michael

Previous: Marc FargasNext: Marc Fargas
Message 2 of 5 in “git-svn: Having a "rare" structure”
  1. Marc FargasNov 5, 2008
  2. Michael J GruberNov 5, 2008
  3. Marc FargasNov 5, 2008
  4. Michael J GruberNov 5, 2008
  5. Marc FargasNov 5, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.