From: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [1.8.0] Summary of the discussions
Date: Thu, 17 Feb 2011 21:08:14 -0500 (EST) [thread overview]
Message-ID: <alpine.DEB.2.00.1102172033340.14950@debian> (raw)
In-Reply-To: <7vwrky5f48.fsf@alter.siamese.dyndns.org>
On Thu, 17 Feb 2011, Junio C Hamano wrote:
> * "git checkout refs/heads/<name>" checks out <name> branch.
>
> From: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
> Date: Mon, 7 Feb 2011 06:01:51 -0500 (EST)
> Message-ID: <alpine.DEB.1.10.1102062234010.3788@debian>
>
> -- summary --
>
> In addition to "git checkout <name>" that names an existing branch,
> special case "git checkout refs/heads/<name>" to check the branch out,
At first I was going to say that I don't think special casing it
should be necessary. It seemed like as long as the name resolves to
something like refs/heads/<name>, the branch should be checked
out. Then I think I realized why you said to special case it. Since
checkout favors branches to tags, we would first have to check if
refs/heads/<arg> is valid and if it is not, check if the argument
resolves to refs/heads/<name> (maybe ignoring tags called
"heads/<name>").
> instead of detaching HEAD at the tip of the branch. If you want to
> detach at a specific commit and wanted to disambiguate <name> that is
> both a branch and another ref by checking out refs/heads/<name>, your
> workflow will be broken by this change, but you can still say
> refs/heads/<name>^0 to work it around.
>
> -- comments --
>
> I do not think this backward incompatible breakage would seriously
> hurt in practice, and if people see newbies are hurt by getting a
> detached HEAD when they check out refs/heads/<name>, this proposal
> might be an improvement, but I have a feeling that this may be trying
> to solve a wrong problem.
>
> Why are these people _tempted_ to type refs/heads/ explicitly? It
> could be our tutorial or documentation. That might be the thing to
> fix.
It wasn't until recently that I learned that "git checkout
[refs/]heads/<name>" (and rebase <upstream> [refs/]heads/name)
detaches the head, so it wasn't really to try to help newbies that I
proposed changing it. It was just that the current behavior is not
what I think most people would expect.
/Martin
next prev parent reply other threads:[~2011-02-18 2:08 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-18 1:02 [1.8.0] Summary of the discussions Junio C Hamano
2011-02-18 2:08 ` Martin von Zweigbergk [this message]
2011-02-19 16:40 ` [1.7.5] Let fetch and pull recurse into submodules when new commits are recorded Jens Lehmann
2011-02-21 15:12 ` Marc Branchaud
2011-02-21 17:38 ` Jens Lehmann
2011-02-19 16:59 ` [1.8.0] Recursively checkout, merge and reset populated submodules Jens Lehmann
2011-02-20 6:49 ` Junio C Hamano
2011-02-21 16:13 ` Marc Branchaud
2011-02-21 18:30 ` Jens Lehmann
2011-02-21 19:56 ` Marc Branchaud
2011-02-21 22:54 ` Jens Lehmann
2011-02-22 0:51 ` Miles Bader
2011-02-22 2:32 ` Phil Hord
2011-02-22 8:11 ` Jens Lehmann
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=alpine.DEB.2.00.1102172033340.14950@debian \
--to=martin.von.zweigbergk@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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