Re: [PATCH v2 5/6] Add new @ shortcut for HEAD
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 2, 2013, 16:49 UTC
- Message-ID
- <7vobct1g43.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CACsJy8D_-S_BvQAa5b2+XpfM2-fJcEQ5EJa4RRtV1vQPEe1emA@mail.gmail.com>
Duy Nguyen <pclouds@gmail.com> writes:
Show 16 quoted lines
> On Wed, May 1, 2013 at 4:49 AM, Felipe Contreras
> <felipe.contreras@gmail.com> wrote:
>> 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'.
>>
>> So now we can use 'git show @~1', and all that goody goodness.
>>
>> Until now '@' was a valid name, but it conflicts with this idea, so lets
>> make it invalid. Very few people if any probably used this name, if they
>> did, they can rename it by using the full-path (e.g. refs/heads/@).
>
> People can write master short for refs/heads/master, but can't with
> refs/heads/@.Is it a new problem?
You can not say HEAD to refer to refs/heads/HEAD, either. To avoid confusion, we teach "git branch HEAD $commit" to error out (but it seems that "git checkout -b HEAD $commit" does not).
We probably would want to do the same for '@' when we refactor to have a central place that knows what the "make sense as refnames at the syntactic level, but are forbidden for operational purposes" branch names are. And use it to update "git checkout -b".