threads / discuss / 8660

git-svn strangeness with tags and Squirrelmail repo

Subject: git-svn strangeness with tags and Squirrelmail repo

## tl;dr

4 messages between Jun 20, 2007 and Jun 20, 2007.

replies: 3people: 3as markdown or json

Martin Langhoff· Jun 20, 2007, 05:05 UTC · lore

First -- kudos to Eric Wong and company: git-svn can deal with the odd errors and invalid chunks of XML or UTF-8 that SVN spits at me every once in a while. And it "just works" in 99% of the situation. Great stuff.

Now... on to my 1% where it doesn't "just work"... I am trying to get a working svn to git gateway for Squirrelmail, and getting in trouble with the tags setting...

  git --version
  git version 1.5.2.2.238.g7cbf2f2
For starters - it "just works" if I run
  git svn init  -T trunk -t tags -b branches \
   http://squirrelmail.svn.sourceforge.net/svnroot/squirrelmail
 git svn fetch

However, every tree (for tags, branches and trunk) is prefixed with "squirrelmail" and commits to the toplevel "plugins" directory get in the way. Also, I want the branches and tags to appear in more natural places, so after init, and before fetch, I change .git/config to say:

   [svn-remote "svn"]
        url = http://squirrelmail.svn.sourceforge.net/svnroot/squirrelmail
        fetch = trunk/squirrelmail:refs/heads/svn/trunk
        branches = branches/*/squirrelmail:refs/heads/svn/*
        tags = tags/*/squirrelmail:refs/tags/svn/*

and when I do that -- trunk and branches do what I want, but tags aren't imported anymore. :-/

cheers,
martin
Eric Wong· Jun 20, 2007, 07:24 UTC · re: Martin Langhoff · lore

Re: git-svn strangeness with tags and Squirrelmail repo

Martin Langhoff <martin.langhoff@gmail.com> wrote:
> First -- kudos to Eric Wong and company: git-svn can deal with the odd
> errors and invalid chunks of XML or UTF-8 that SVN spits at me every
> once in a while. And it "just works" in 99% of the situation. Great
> stuff.

You're welcome. At the same time I'm not reallu sure what you mean by "odd errors and invalid chunks of XML or UTF-8 that SVN spits at me" unless it's some joke about SVN I'm not getting :)

Show 22 quoted lines
> Now... on to my 1% where it doesn't "just work"... I am trying to get
> a working svn to git gateway for Squirrelmail, and getting in trouble
> with the tags setting...
> 
>  git --version
>  git version 1.5.2.2.238.g7cbf2f2
> 
> For starters - it "just works" if I run
>  git svn init  -T trunk -t tags -b branches \
>   http://squirrelmail.svn.sourceforge.net/svnroot/squirrelmail
> git svn fetch
> 
> However, every tree (for tags, branches and trunk) is prefixed with
> "squirrelmail" and commits to the toplevel "plugins" directory get in
> the way. Also, I want the branches and tags to appear in more natural
> places, so after init, and before fetch, I change .git/config to say:
> 
>   [svn-remote "svn"]
>        url = http://squirrelmail.svn.sourceforge.net/svnroot/squirrelmail
>        fetch = trunk/squirrelmail:refs/heads/svn/trunk
>        branches = branches/*/squirrelmail:refs/heads/svn/*
>        tags = tags/*/squirrelmail:refs/tags/svn/*

git-svn expects 'refs/remotes/' in the local ref name. Otherwise, the left-hand side is correct.

> and when I do that -- trunk and branches do what I want, but tags
> aren't imported anymore. :-/

Now its odd to me that trunks and branches even works with those ref names.

-- 
Eric Wong
Martin Langhoff· Jun 20, 2007, 09:13 UTC · re: Eric Wong · lore

Re: git-svn strangeness with tags and Squirrelmail repo

On 6/20/07, Eric Wong <normalperson@yhbt.net> wrote:
Show 9 quoted lines
> Martin Langhoff <martin.langhoff@gmail.com> wrote:
> > First -- kudos to Eric Wong and company: git-svn can deal with the odd
> > errors and invalid chunks of XML or UTF-8 that SVN spits at me every
> > once in a while. And it "just works" in 99% of the situation. Great
> > stuff.
>
> You're welcome.  At the same time I'm not reallu sure what you mean by
> "odd errors and invalid chunks of XML or UTF-8 that SVN spits at me"
> unless it's some joke about SVN I'm not getting :)

Oh - the Squirrelmail SVN repo is one of those that have commits that SVN itself cannot read due to invalid data. So git-svnimport, by virtue of using the Perl SVN bindings, fails to import it.

git-svn, by some other virtue, imports it perfectly ;-)
Show 8 quoted lines
> >   [svn-remote "svn"]
> >        url = http://squirrelmail.svn.sourceforge.net/svnroot/squirrelmail
> >        fetch = trunk/squirrelmail:refs/heads/svn/trunk
> >        branches = branches/*/squirrelmail:refs/heads/svn/*
> >        tags = tags/*/squirrelmail:refs/tags/svn/*
>
> git-svn expects 'refs/remotes/' in the local ref name.  Otherwise,
> the left-hand side is correct.
Good to know!
Show 5 quoted lines
> > and when I do that -- trunk and branches do what I want, but tags
> > aren't imported anymore. :-/
>
> Now its odd to me that trunks and branches even works with those ref
> names.
I'm lucky then ;-)

My reason for the "alternative" locations is to match a bit better the v1.5.0 behaviour re branches, tags and remotes, and to run the import directly into a bare repo on git.catalyst.net.nz

 - Tags, by virtue of landing under refs/remotes are being treated as
heads rather than tags. That's why I want to have them in
refs/tags/<bla>/*
 - If branches + trunk end up in refs/remotes then my bare repo /
gateway doesn't work well - -refs/remotes aren't cloned or fetched
 - gitweb refuses to show those heads/tags (maybe it's because it's an
old version?)
cheers,
martin
Peter Baumann· Jun 20, 2007, 10:33 UTC · re: Martin Langhoff · lore

Re: git-svn strangeness with tags and Squirrelmail repo

On Wed, Jun 20, 2007 at 09:13:18PM +1200, Martin Langhoff wrote: [...]

Show 27 quoted lines
> > >   [svn-remote "svn"]
> > >        url = http://squirrelmail.svn.sourceforge.net/svnroot/squirrelmail
> > >        fetch = trunk/squirrelmail:refs/heads/svn/trunk
> > >        branches = branches/*/squirrelmail:refs/heads/svn/*
> > >        tags = tags/*/squirrelmail:refs/tags/svn/*
> >
> > git-svn expects 'refs/remotes/' in the local ref name.  Otherwise,
> > the left-hand side is correct.
> 
>  Good to know!
> 
> > > and when I do that -- trunk and branches do what I want, but tags
> > > aren't imported anymore. :-/
> >
> > Now its odd to me that trunks and branches even works with those ref
> > names.
> 
>  I'm lucky then ;-)
> 
>  My reason for the "alternative" locations is to match a bit better the
>  v1.5.0 behaviour re branches, tags and remotes, and to run the import
>  directly into a bare repo on git.catalyst.net.nz
> 
>  - Tags, by virtue of landing under refs/remotes are being treated as
>  heads rather than tags. That's why I want to have them in
>  refs/tags/<bla>/*
> 

But Tags are just heads in SVN. There are many repos where a tag changes in time and so tags are often used as they were branches where you develop on.

Show 6 quoted lines
>  - If branches + trunk end up in refs/remotes then my bare repo /
>  gateway doesn't work well - -refs/remotes aren't cloned or fetched
> 
>  - gitweb refuses to show those heads/tags (maybe it's because it's an
>  old version?)
> 
[ Not sure about this, but could it be that gitweb never shows branches
  under refs/remotes ? ]
-Peter

← back to recent threads