Code

revamp git-clone.
authorJunio C Hamano <junkio@cox.net>
Mon, 20 Mar 2006 08:21:10 +0000 (00:21 -0800)
committerJunio C Hamano <junkio@cox.net>
Mon, 20 Mar 2006 08:21:10 +0000 (00:21 -0800)
commitdfeff66ed9a3931d60f3cd600ad8c14b5cc3d9e5
tree648432428d1ae3678680df2ed7f89e50b7cb1777
parent687b8be8bb75b97e917dc744f91890270913041d
revamp git-clone.

This does two things.

 * A new flag --reference can be used to name a local repository
   that is to be used as an alternate.  This is in response to
   an inquiry by James Cloos in the message on the list
   <m3r74ykue7.fsf@lugabout.cloos.reno.nv.us>.

 * A new flag --use-separate-remote stops contaminating local
   branch namespace by upstream branch names.  The upstream
   branch heads are copied in .git/refs/remotes/ instead of
   .git/refs/heads/ and .git/remotes/origin file is set up to
   reflect this as well.  It requires to have fetch/pull update
   to understand .git/refs/remotes by Eric Wong to further
   update the repository cloned this way.

For the former change, git-fetch-pack is taught a new flag --all
to fetch from all the remote heads.  Nobody uses the git-clone-pack
with this change, so we could deprecate the command, but removal
of the command will be left to a separate round.

Signed-off-by: Junio C Hamano <junkio@cox.net>
fetch-pack.c
git-clone.sh