From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org, Jay Soffian <jaysoffian@gmail.com>
Subject: Re: [PATCH v2 2/2] Teach @{-1} to git merge
Date: Sat, 14 Feb 2009 18:05:42 -0800 [thread overview]
Message-ID: <7vfxigqwsp.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <alpine.DEB.1.00.0902142332210.10279@pacific.mpi-cbg.de> (Johannes Schindelin's message of "Sat, 14 Feb 2009 23:52:42 +0100 (CET)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> - update-ref does _not_ interpret @{-<n>} as the branch name (which I
> find okay, as update-ref is plumbing), but instead creates the file
> '.git/@{-<n>}' (which I think is a bug).
I do not think it make any sense for update-ref to expand @{-1} to the
name of the last branch, as you end up creating a not-a-ref ".git/next"
and not ".git/refs/heads/next". It might be Ok to say that @{-1} expands
to refs/heads followed by the name of the last branch only for this
plumbing command, but such an inconsistency feels very wrong.
The particular plumbing command, following the example of recent loosening
the rule back to "HEAD is allowed to point outside refs/heads/", should be
allowed to create anything that passes check_ref_format(), and perhaps bit
more because we would need to allow ".git/HEAD".
> Now, show-branch indeed does not substitute the branch _name_, but
> otherwise it works correctly, no?
> otherwise it works correctly, no? And given the fact that show-branch
> does not substitute "HEAD" with the current branch name, either,...
The tip commits come from get_sha1(), so obviously it would "work", but it
does not show what branch it talks about. HEAD is shown only when the
user says HEAD (e.g. "git show-branch master HEAD") so I do not see much
similarity there.
The advertised new feature is that you can use the @{-1} syntax anywhere
you would use a branch name and it would work as if you typed the name of
the branch, so in that sense show-branch that shows @{-1} and does not
show the name of the branch is a bug.
It is the same thing for "git-merge @{-1}". Sure, it would record a
correct tree in the resulting commit, but without the fix it would say
"Merge branch @{-1}" which is wrong and needs to be fixed.
And no, "update-ref @{-1}" should not create ".git/next" when you were on
'next' the last time. When you say "update-ref next", you may have typed
the four characters and that may look the same as the name of a branch,
but obviously the argument to the command does not *mean* the name of a
branch, so it falls outside the "anywhere you would use a branch name"
rule.
next prev parent reply other threads:[~2009-02-15 2:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-14 7:08 [PATCH] teach the new "@{-1} syntax to "git branch" Junio C Hamano
2009-02-14 7:11 ` Jay Soffian
2009-02-14 7:21 ` Junio C Hamano
2009-02-14 9:37 ` [PATCH v2 1/2] Teach the " Junio C Hamano
2009-02-14 9:39 ` [PATCH v2 2/2] Teach @{-1} to git merge Junio C Hamano
2009-02-14 22:52 ` Johannes Schindelin
2009-02-15 2:05 ` Junio C Hamano [this message]
2009-02-15 2:32 ` Junio C Hamano
2009-02-15 9:24 ` Nanako Shiraishi
2009-02-15 10:02 ` Junio C Hamano
2009-02-15 11:21 ` Johannes Schindelin
2009-02-16 4:16 ` Junio C Hamano
2009-02-16 10:41 ` Johannes Schindelin
2009-02-16 16:40 ` Jay Soffian
2009-02-26 0:11 ` Junio C Hamano
2009-02-26 10:18 ` Johannes Schindelin
2009-02-27 4:27 ` Deskin Miller
2009-02-27 5:24 ` Junio C Hamano
2009-02-27 6:10 ` [PATCH] git-branch: a detached HEAD and branch called HEAD are different Junio C Hamano
2009-02-27 6:12 ` [PATCH] "git branch -M @{-1}" Junio C Hamano
2009-02-27 6:49 ` 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=7vfxigqwsp.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=jaysoffian@gmail.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;
as well as URLs for NNTP newsgroup(s).