On Wed, Jul 11, 2012 at 01:26:17AM +0000, Eric Wong wrote: > Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Marcin Owsiany <marcin@xxxxxxxxxx> writes: > > > > >> This makes my idea to do the same to "my something else instead of > > >> master" much less attractive. In fact I don't think such behaviour would > > >> be useful. > > >> > > >> I think with the suggested patch git-svn works as I would like it to: > > >> - creates "master" at initial checkout - consistent with git clone > > >> - using a different "tracking-like" branch is possible with "dcommit" > > >> - does not re-create "master" on fetch - so the annoying part is gone > > > > > > Any comments? > > > > Not from me. Even though I'd love to hear Eric's opinion, your "I > > don't think such behaviour would be useful." gave me an impression > > that you would justify the change in a different way (i.e. a rewrite > > of proposed log message) or tweak the patch (i.e. a modified > > behaviour), or perhaps both, in your re-roll, the ball was in your > > court, and we were waiting for such a rerolled patch. > > Sorry, I keep forgetting this topic. But yes, I thought you would tweak > your patch. Oh, I guess I got used to projects where people pay no attention to patch comments. How about this: From: Marcin Owsiany <marcin@xxxxxxxxxx> Date: Sun, 24 Jun 2012 22:40:05 +0100 Subject: [PATCH] git-svn: don't create master if another head exists git-svn insists on creating the "master" head (unless it exists) on every "fetch". It is useful that it gets created initially, when no head exists - users expect this git convention of having a "master" branch on initial clone. However creating it when there already is another head does not provide any value - the ref is never updated, so it just gets stale after a while. Also, some users find it annoying that it gets recreated, especially when they would like the git branch names to follow SVN repository branch names. More background in http://thread.gmane.org/gmane.comp.version-control.git/115030 Make git-svn skip the "master" creation if HEAD points at a valid head. This means "master" does get created on initial "clone" but does not get recreated once a user deletes it. Signed-off-by: Marcin Owsiany <marcin@xxxxxxxxxx> --- git-svn.perl | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/git-svn.perl b/git-svn.perl index 0b074c4..2379a71 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1612,9 +1612,9 @@ sub post_fetch_checkout { } } - my $valid_head = verify_ref('HEAD^0'); + return if verify_ref('HEAD^0'); command_noisy(qw(update-ref refs/heads/master), $gs->refname); - return if ($valid_head || !verify_ref('HEAD^0')); + return unless verify_ref('HEAD^0'); return if $ENV{GIT_DIR} !~ m#^(?:.*/)?\.git$#; my $index = $ENV{GIT_INDEX_FILE} || "$ENV{GIT_DIR}/index"; -- 1.7.7.3 -- Marcin Owsiany <marcin@xxxxxxxxxx> http://marcin.owsiany.pl/ GnuPG: 2048R/02F946FC 35E9 1344 9F77 5F43 13DD 6423 DBF4 80C6 02F9 46FC "Every program in development at MIT expands until it can read mail." -- Unknown -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html