All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Stefan Beller <sbeller@google.com>,
	"Robert P. J. Day" <rpjday@crashcourse.ca>,
	Git Mailing list <git@vger.kernel.org>
Subject: Re: is there a stylistic preference for a trailing "--" on a command?
Date: Sun, 12 Nov 2017 10:18:08 +0900	[thread overview]
Message-ID: <xmqqzi7scn1r.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20171111151907.owrbpnn35aepj4ha@sigill.intra.peff.net> (Jeff King's message of "Sat, 11 Nov 2017 15:39:54 +0000")

Jeff King <peff@peff.net> writes:

> On Fri, Nov 10, 2017 at 10:12:39AM -0800, Stefan Beller wrote:
>
>> On Fri, Nov 10, 2017 at 5:57 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
>> >
>> >   just noticed these examples in "man git-bisect":
>> >
>> > EXAMPLES
>> >   $ git bisect start HEAD v1.2 --      # HEAD is bad, v1.2 is good
>> >   ...
>> >   $ git bisect start HEAD origin --    # HEAD is bad, origin is good
>> >   ...
>> >   $ git bisect start HEAD HEAD~10 --   # culprit is among the last 10
>> >
>> > is there some rationale or stylistic significance to those trailing
>> > "--" on those commands? i assume they have no effect, just curious as
>> > to why they're there.
>> 
>> By having the -- there, it is clear that the strings are ref specs and not files
>> of such a name. (Who would want to store a file named HEAD~10 in their
>> repo?)
>
> Just to be explicit, that makes it not just clear to the user but clear
> to Git. Without a "--" there heuristics that kick in. The first section
> of the "gitcli" manpage talks about this, though I don't know that we
> explicitly document the heuristics anywhere (and I think that is
> intentional -- we promise only to try to do what you meant, and scripts
> that want exact behavior should use a disambiguating "--").

It is funny that your "Just to be explicit" reads two ways, and both
readings turn out to be correct ;-)

Yes, the use of these "--" in the examples are just to be explicit
that the arguments that come before "--" are revisions (and not
pathspecs); doing so prevents Git from complaining of ambiguity even
when a file whose name is HEAD happens to be in your working tree.

And it is good that you explicitly teach that these are not to
clarify for the end users' who read the examples, but to encourage
users to get into the habit of using them to make their intention
clear when writing their scripts.

;-).

      reply	other threads:[~2017-11-12  1:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-10 13:57 is there a stylistic preference for a trailing "--" on a command? Robert P. J. Day
2017-11-10 18:12 ` Stefan Beller
2017-11-11 15:39   ` Jeff King
2017-11-12  1:18     ` Junio C Hamano [this message]

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=xmqqzi7scn1r.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=rpjday@crashcourse.ca \
    --cc=sbeller@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.