From: Martin Langhoff <martin@catalyst.net.nz>
To: Carl Worth <cworth@cworth.org>
Cc: git@vger.kernel.org, junkio@cox.net
Subject: Re: [RFC] git-clone: add --track <headname> support
Date: Fri, 13 Apr 2007 09:46:45 +1200 [thread overview]
Message-ID: <461EA8C5.1070503@catalyst.net.nz> (raw)
In-Reply-To: <87veg1tuuv.wl%cworth@cworth.org>
Carl Worth wrote:
> Whether we're talking about cogito migration or not, I also want these
> operations to be dead simple. So I really appreciate seeing your
> efforts on this front.
Hi Carl! Yes - this stuff should be simple, and _really hard to fsck up_.
> I seem to recall Linus complaining about the <repo>#branchname syntax
> because it allows for only one branch name. So one thing to think
> about is how to allow for multiple branches to be tracked while
> cloning, ("--track branch1 --track branch2" ?).
That wouldn't be hard to implement. Actually, we could support both.
> Separately, something I've always wanted is a succint way to advertise
> a complete specification of a branch that users could conveniently
> take, (read, "cut-and-paste, preferably with double-click"), and use
> whether they wanted to do any one of the following operations:
(...)
> For this, I think the <repo>#branch syntax is actually worthing
> thinking about. With it, the above three operations could be provided
> with operations something like:
>
> git clone <repo>#branch
>
> git fetch <repo>#branch
>
> git track <repo>#branch
So you are proposing (or maybe I am re-interpreting things so) that
git track <repo>#branch
should Do The Right Thing:
- perform a clone if we aren't in a repo
- set things up for tracking the branch if we are in a repo
I like the idea. :-)
> Where this new git-track command would encompass a lot of the work
> that git-clone is doing currently. That is, the git-clone rewrite
> that Junio is envisioning could be implemented something like:
>
> mkdir <branch>
> cd <branch>
> git init-db
> git track <repo>#branch
Oops - looks like we are talking about different things. What you write
above can be done with "git-branch --track" on 1.5.1 so it's already in
existence.
> By the way, the <repo>#branch syntax isn't essential for what I'm
> describing here. This syntax does provide something that could be
> usefully provided to either git-clone or git-fetch as a single
> command. This is opposed to the current state where I have to say
> things like:
>
> If you've got a clone already, do: [*]
>
> git fetch <repo> branch:branch
> git checkout branch
>
> If you don't have a clone yet, do:
>
> git clone <repo>
> git checkout -b branch origin/branch
With my proposed git-track as a wrapper around git-clone _and_
git-branch --track, you only need to say
To start working on foo, do
git track <repo>#branch
And if the user has an existing checkout they can do if from inside the
checkout, or perhaps better, saying
git track --reference <myoldcheckout> <repo>#branch
to avoid the biiig download.
cheers,
m
--
-----------------------------------------------------------------------
Martin @ Catalyst .Net .NZ Ltd, PO Box 11-053, Manners St, Wellington
WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St
OFFICE: +64(4)916-7224 UK: 0845 868 5733 ext 7224 MOB: +64(21)364-017
Make things as simple as possible, but no simpler - Einstein
-----------------------------------------------------------------------
next prev parent reply other threads:[~2007-04-12 21:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-12 10:08 [RFC] git-clone: add --track <headname> support Martin Langhoff
2007-04-12 10:23 ` Junio C Hamano
2007-04-12 21:32 ` Martin Langhoff
2007-04-12 16:34 ` Carl Worth
2007-04-12 21:46 ` Martin Langhoff [this message]
2007-04-12 23:24 ` Carl Worth
2007-04-12 23:50 ` Martin Langhoff
2007-04-13 0:28 ` Junio C Hamano
2007-04-13 3:50 ` 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=461EA8C5.1070503@catalyst.net.nz \
--to=martin@catalyst.net.nz \
--cc=cworth@cworth.org \
--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;
as well as URLs for NNTP newsgroup(s).