Git development
 help / color / mirror / Atom feed
From: Petr Baudis <pasky@suse.cz>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: efficient cloning
Date: Mon, 20 Mar 2006 23:41:23 +0100	[thread overview]
Message-ID: <20060320224123.GP18185@pasky.or.cz> (raw)
In-Reply-To: <7vk6aokd7m.fsf@assigned-by-dhcp.cox.net>

Dear diary, on Mon, Mar 20, 2006 at 10:39:41PM CET, I got a letter
where Junio C Hamano <junkio@cox.net> said that...
> You are commenting on the initial 'git-clone' and specifically
> on one of its optional feature.  What multiple upstreams?
> 
> The whole point of what git-clone does on top of making a
> straight clone of the remote is to give you a reasonable
> starting point.  The traditional "master" -> "origin" mapping is
> good for cloning a typical single-head repository.  If your
> upsteram has more branches, --use-separate-remote would help you
> to start your branch namespace uncluttered.

Yes, but I just see no connecting with a "starting point" whatsoever -
why should this be inherent to initial clone? I can see no greater
chance that I will want all the branches than when I want to fetch from
another repository later (especially in a truly distributed
environment).

So, it doesn't make sense to me to limit this feature only to the
initial clone case - I want to be able to reasonably "fetch all
branches" of any repository I wish. Without massive namespace clashes,
the reasonable way is to just have a separate directory in
.git/refs/remotes/ for each repository (and it's my understanding that
this was the original proposal as well).

Then you can make a simple change that if a refname matches a directory
in refs/remotes/, you rewrite it as refs/remotes/<refname>/master. This
makes 'origin' work seamlessly in a natural way and a lot more elegantly
than if you make up an artifical rule like "if the remote's branch is
master, save it as origin, but save all the other branches verbatim".

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
Right now I am having amnesia and deja-vu at the same time.  I think
I have forgotten this before.

  reply	other threads:[~2006-03-20 22:41 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-19 21:16 efficient cloning James Cloos
2006-03-19 22:31 ` Shawn Pearce
2006-03-19 23:18 ` Junio C Hamano
2006-03-20  0:32   ` James Cloos
2006-03-20  1:55     ` Junio C Hamano
2006-03-20  8:54       ` Junio C Hamano
2006-03-20 15:18         ` Petr Baudis
2006-03-20 21:39           ` Junio C Hamano
2006-03-20 22:41             ` Petr Baudis [this message]
2006-03-20 23:07               ` Junio C Hamano
2006-03-20 16:30         ` Josef Weidendorfer
2006-03-20 23:04           ` Junio C Hamano
2006-03-20 23:21             ` Petr Baudis
2006-03-20 23:49               ` Junio C Hamano
2006-03-21  8:19                 ` Andreas Ericsson
2006-03-21  8:42                   ` Junio C Hamano
2006-03-21  9:19                     ` Jeff King
2006-03-21  9:45                       ` Junio C Hamano
2006-03-21 11:29                         ` Petr Baudis
2006-03-21  0:26             ` Josef Weidendorfer
2006-03-21  0:57               ` Junio C Hamano
2006-03-21  8:28           ` Junio C Hamano

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=20060320224123.GP18185@pasky.or.cz \
    --to=pasky@suse.cz \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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