From: Junio C Hamano <gitster@pobox.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org, Ramkumar Ramachandra <artagnon@gmail.com>,
Jeff King <peff@peff.net>, Duy Nguyen <pclouds@gmail.com>
Subject: Re: [PATCH v3] Add new @ shortcut for HEAD
Date: Wed, 01 May 2013 15:08:03 -0700 [thread overview]
Message-ID: <7vsj264am4.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <CAMP44s16X8c_5GgW=ZcA9wrd=oHAiVDZFWxqiGmysaUJckZ5wQ@mail.gmail.com> (Felipe Contreras's message of "Wed, 1 May 2013 13:33:43 -0500")
Felipe Contreras <felipe.contreras@gmail.com> writes:
> On Wed, May 1, 2013 at 12:53 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>
>>> So HEAD@{0}~0^0 is too much to type, but we can remove '^0', and we can
>>> remove '~0', and we can remove 'HEAD', which leaves us with @{0}, but we
>>> can't remove '{0}'?
>>>
>>> This patch allows '@' to be the same as 'HEAD'.
>>
>> While the above reasoning is cute, it is misleading.
>>
>> If you start from HEAD@{1}~0^0, we can remove '^0', we can remove
>> '~0', but you cannot remove HEAD from the remaining "HEAD@{1}"
>> without changing what it means. @{1} is where the current branch
>> was, while HEAD@{1} is where you were---they are different when you
>> have just did "git checkout anotherbranch". HEAD@{1} is the tip of
>> your previous branch, @{1} is where anotherbranch was before its tip
>> became the commit you have checked out.
>
> Replace @{1} with @{u} and it holds.
Yes and no. Starting from HEAD@{u}~0^0, we can remove ^0 and ~0,
and you remove HEAD from the remaining "HEAD@{u}" to get @{u} and
all of them still mean the same thing. It is the other branch your
current branch is integrating with.
But that decomposition does not get you to HEAD which is the final
destination you want to reach. As soon as you drop the remaining
{u}, it suddenly changes the meaning and start referring to the
current branch.
>> So I'd suggest toning it down, perhaps something like this:
>>
>> Even though we often can do without having to type "HEAD",
>> e.g. "git log origin.." substitutes missing RHS with "HEAD",
>> sometimes we still do need to type "HEAD" (thats six f*cking
>> keystrokes "Caps Lock", "H", "E", "A", "D" and finally "Caps
>> Lock").
>
> I don't know what RHS means, and I don't use caps lock :)
"right hand side"? You can say "Hold down Shift", H, E, A, D and
"Release Shift" ;-).
>> That is four keystrokes too many to name an often needed
>> reference. Make "@" usable as its synonym.
>
> Yeah, that's nice, but doesn't explain why "@", and why not something else.
The thing is, HEAD@{0}~0^0 nor HEAD@{u}~0^0 is not a valid
explanation why it is "@", either.
But that does _not_ mean "@" is a good choice. Nor the explanation
has to be based on the "starting from this and strip" progression.
"@" is already special and is familiar to users when specifying a
ref, and that is a good enough reason (you can of course say that in
the log message).
next prev parent reply other threads:[~2013-05-01 22:08 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-01 9:51 [PATCH v3] Add new @ shortcut for HEAD Felipe Contreras
2013-05-01 10:12 ` Eric Sunshine
2013-05-01 10:31 ` Thomas Adam
2013-05-01 14:23 ` "lets" vs. "let's" (was: Re: [PATCH v3] Add new @ shortcut for HEAD) Marc Branchaud
2013-05-01 17:18 ` "lets" vs. "let's" Junio C Hamano
2013-05-01 17:53 ` [PATCH v3] Add new @ shortcut for HEAD Junio C Hamano
2013-05-01 18:33 ` Felipe Contreras
2013-05-01 22:08 ` Junio C Hamano [this message]
2013-05-01 22:35 ` Felipe Contreras
2013-05-01 22:59 ` Junio C Hamano
2013-05-01 23:14 ` Felipe Contreras
2013-05-02 2:33 ` Felipe Contreras
2013-05-06 14:48 ` Junio C Hamano
2013-05-01 22:56 ` 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=7vsj264am4.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=artagnon@gmail.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=pclouds@gmail.com \
--cc=peff@peff.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).