git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha.warpmail.net>
To: Yann Dirson <ydirson@linagora.com>
Cc: git@vger.kernel.org
Subject: Re: [BUG] git-svn: HEAD pointing to a tag after cloning
Date: Mon, 11 May 2009 13:50:06 +0200	[thread overview]
Message-ID: <4A0810EE.9030209@drmicha.warpmail.net> (raw)
In-Reply-To: <37678.10.0.0.1.1242040118.squirrel@intranet.linagora.com>

Yann Dirson venit, vidit, dixit 11.05.2009 13:08:
> The following happens with git 1.6.3.  For some reason git-svn sets HEAD
> to the wrong branch.  Not sure what happens here, $self->full_url seems to
> be used for a wrong purpose somewhere in the code.
> 
> 
> (you can see a commit on the "tag" branch, which got committed at the
> wrong place because the user did not notice that HEAD was not pointing to
> the correct branch)
> 
> $ git svn clone --stdlayout svn://xxxx/at-remote test
> [....]
> Successfully followed parent
> r3287 = 08b210cf2e97caeb6d431a4a0bc594702aa9c6d2 (tags/luciole-2.0.4)
> Found possible branch point: svn://xxxx/at-remote/trunk =>
> svn://xxxx/at-remote/tags/luciole-2.0.5, 3352
> Found branch parent: (tags/luciole-2.0.5)
> ddff7cedbd1d66c836153606db1f80ad3ce6b00d
> Following parent with do_switch
> Successfully followed parent
> r3367 = 35b21f3f8e206c391f09a788ba9cb6b35f21752d (tags/luciole-2.0.5)
>         M       at-remote
> r3652 = faeb3bab02016b23a7fb7256bbabea305f599022 (tags/luciole-2.0.5)
> Checked out HEAD:
>   svn://xxxx/at-remote/tags/luciole-2.0.5 r3652
> $
> 
> 

svn allows you to commit to tags as if they were branches - indeed they
are branches just as much as svn branches are branches.

Therefore, git-svn represents svn tags as git remote branches (not
tags). After the clone is done, git-svn checks out the branch on which
the last commit was done.

So, git-svn is doing as it should, under the restrictions that svn puts
on its operations.

One may argue that master should point to trunk (for --stdlayout)
instead after git svn clone, just like master points to master after git
clone. But which one is "the correct branch"? I would claim that the
client cannot know and there should be no master (maybe a detached head
with the last commit, i.e. HEAD) but last I tried I remained a
1-person-minority ;)

Cheers,
Michael

  reply	other threads:[~2009-05-11 11:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-11 11:08 [BUG] git-svn: HEAD pointing to a tag after cloning Yann Dirson
2009-05-11 11:50 ` Michael J Gruber [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-05-11 14:09 Yann Dirson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A0810EE.9030209@drmicha.warpmail.net \
    --to=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=ydirson@linagora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).