From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: Re: Difficulties in advertising a new branch to git newbies
Date: Tue, 30 Jan 2007 22:02:40 +0100 [thread overview]
Message-ID: <epobn1$jv8$1@sea.gmane.org> (raw)
In-Reply-To: 87odognuhl.wl%cworth@cworth.org
Carl Worth wrote:
> The things I haven't liked in the above are:
>
> 1. The doubled-up "branch:branch" thing in git-fetch, which
> just plain looks awkward. Yes, it's common for "git pull"
> to fetch something and not store it in any branch, but it
> seems that it could ask for that behavior explicitly and we
> could make "fetch URL branch" act as "fetch URL
> branch:branch".
If youd don't mind fetching more, you can ask just to do "git fetch".
But, currently:
* A parameter <ref> without a colon is equivalent to
<ref>: when pulling/fetching, so it merges <ref> into the current
branch without storing the remote branch anywhere locally
I don't think it would be bad if we changed <ref> to mean <ref>:<ref>
and require <ref>: to pull without storing remote branch anywhere locally;
the problem is that we probably want <ref>:<remote>/<ref>.
An alternative would be to tag a fix, and as to do the following
$ git fetch origin tag proposed-fix
> 2. The "-b build" thing in git-checkout. Worse than just
> looking awkward, this causes a real problem, since my
> git-fetch instructions only work the first time, (if they
> follow them later they're going to run into "branch build
> already exists"). Detached head in 1.5 should help here,
> but see below.
An alternative would be to have some branch used only to bring
working directory to given state, by using "git reset --hard <ref>"
while being on it.
E.g.
$ git checkout build
$ git reset --hard proposed-fix
(assuming that 'build' branch was created earlier).
> 3. The separation between how to clone and how to fetch into
> an existing repository is annoying. What I'd really like to
> do is just publish something like:
>
> git://git.project.org/~cworth/project proposed-fix
>
> and allow users to just cut-and-paste that to commands as
> needed. That is, I think it would be nice if "git fetch" or
> "git clone" could accept the "URL branch" string above and
> just do the right thing with it.
>
[...]
> Also, if I'm willing to assume (or insist) that users have git 1.5 or
> newer, it'd be nice to be able to drop the "-b build" thing thanks to
> the new detached HEAD support. But if I suggest doing just:
>
> git checkout origin/proposed-fix
>
> the user is presented with the following message which is much more
> scary than useful in this situation:
>
> warning: you are not on ANY branch anymore.
> If you meant to create a new branch from the commit, you need -b to
> associate a new branch with the wanted checkout. Example:
> git checkout -b <new_branch_name> origin/proposed-fix
>
> The user is getting warned, getting told they perhaps wanted to do
> something else, and getting told that if so they would need to use a
> different command. But the command I gave does exactly what they
> wanted, and following git's advice here would be a bad idea.
>
> I propose this warning be removed here. Otherwise, I either add text
> to my instructions telling the user to ignore the warning message they
> get, or else I go back to "-b build" and back to all the old problems
> it causes.
I rather leave warning, but (perhaps around 1.5.1) remove the
instructions. RTFM (err... I'm not sure we have one about detached HEAD).
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
next prev parent reply other threads:[~2007-01-30 21:01 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-30 20:13 Difficulties in advertising a new branch to git newbies Carl Worth
2007-01-30 21:02 ` Jakub Narebski [this message]
2007-01-30 21:25 ` Yann Dirson
2007-01-30 21:31 ` Jakub Narebski
2007-01-30 21:32 ` Junio C Hamano
2007-01-30 21:40 ` Jakub Narebski
2007-01-30 22:33 ` Matthias Lederhofer
2007-01-30 22:36 ` Matthias Lederhofer
2007-01-30 23:10 ` Jeff King
2007-01-31 1:34 ` Junio C Hamano
2007-01-31 1:51 ` Nicolas Pitre
2007-01-31 3:22 ` Jeff King
2007-01-31 14:59 ` Nicolas Pitre
2007-01-31 17:07 ` Jeff King
2007-01-31 18:59 ` Nicolas Pitre
2007-01-31 22:53 ` Jeff King
2007-01-31 20:20 ` Junio C Hamano
2007-01-31 22:51 ` Theodore Tso
2007-01-31 23:03 ` Junio C Hamano
2007-01-31 23:18 ` Jakub Narebski
2007-01-31 1:48 ` Nicolas Pitre
2007-01-31 0:10 ` Daniel Barkalow
2007-01-31 1:55 ` Nicolas Pitre
2007-01-31 5:09 ` Daniel Barkalow
2007-01-31 14:31 ` Nicolas Pitre
2007-01-31 14:38 ` J. Bruce Fields
2007-01-31 14:53 ` Jakub Narebski
2007-01-31 15:15 ` Nicolas Pitre
2007-01-31 16:25 ` Daniel Barkalow
2007-01-31 18:25 ` Nicolas Pitre
2007-01-31 13:13 ` Guilhem Bonnefille
2007-01-31 16:06 ` Carl Worth
2007-01-31 16:15 ` Johannes Schindelin
2007-01-31 19:27 ` Santi Béjar
2007-01-31 19:50 ` Carl Worth
2007-02-01 0:20 ` Josef Weidendorfer
2007-02-01 9:02 ` Santi Béjar
2007-02-01 4:12 ` Jakub Narebski
2007-02-06 5:51 ` Carl Worth
2007-02-06 6:37 ` Junio C Hamano
2007-02-06 7:25 ` Junio C Hamano
2007-02-06 7:31 ` Jeff King
2007-02-06 18:53 ` Carl Worth
2007-02-06 19:14 ` Junio C Hamano
2007-02-06 19:39 ` Carl Worth
2007-02-06 19:58 ` Jakub Narebski
2007-02-06 7:28 ` Jeff King
2007-02-06 7:46 ` Junio C Hamano
2007-02-06 8:12 ` Jeff King
2007-02-06 15:33 ` Nicolas Pitre
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='epobn1$jv8$1@sea.gmane.org' \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/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).