Re: [PATCH] doc: fix a typo and clarify a sentence
- Date: Thu, 04 Oct 2018 23:20:07 -0700
- From: Junio C Hamano <gitster@xxxxxxxxx>
- Subject: Re: [PATCH] doc: fix a typo and clarify a sentence
Mihir Mehta <mihir@xxxxxxxxxxxxx> writes:
> diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
> index b180f1fa5..6173f569e 100644
> --- a/Documentation/git-diff.txt
> +++ b/Documentation/git-diff.txt
> @@ -72,8 +72,9 @@ two blob objects, or changes between two files on disk.
> This form is to view the changes on the branch containing
> and up to the second <commit>, starting at a common ancestor
> of both <commit>. "git diff A\...B" is equivalent to
> - "git diff $(git-merge-base A B) B". You can omit any one
> - of <commit>, which has the same effect as using HEAD instead.
> + "git diff $(git merge-base A B) B". You can omit any one
"git merge-base" is a more modern way to spell "git-merge-base" and
we have been trying to update the mention of the latter in the docs
to the former. Thanks for doing this.
> + of the two instances of <commit>, which has the same effect as
The paragraph is about <commit>...<commit> three-dot notation. I
suspect that you wanted to say <commit>... and ...<commit> are
allowed, implying that a bare ... is not allowed and does not mean
the same thing as what HEAD...HEAD means. But that is not the case.
Asking "git diff HEAD...HEAD" by omitting both may not give very
interesting output (it always becomes a no-op), but nevertheless it
is a valid thing to ask (iow "git diff $commit1...$commit2" is what
you can safely write without having to worry about one or both going
empty string). So I'd rather not to see this change in this form.
It is an incomplete attempt to discourage use of <empty>...<empty>
but without giving enough justification.
Side note. I am not recommending to do so, but
"discouragement with enough justification" would look like
You can omit <commit> on any side of the three dots, which
has the same effect as using HEAD instead. Omitting both
and leaving only three dots is not an error but that merely
specifies a set of commits that are and are not reachable
from HEAD at the same time, which by definition is an empty
set, hence it is not very useful.
> + using HEAD in its place.
> +++ b/Documentation/howto/update-hook-example.txt
> @@ -80,7 +80,7 @@ case "$1" in
> info "The branch '$1' is new..."
> # updating -- make sure it is a fast-forward
> - mb=$(git-merge-base "$2" "$3")
> + mb=$(git merge-base "$2" "$3")
I strongly suspect that inside update-hook, the original still
should work (iow, $GIT_EXEC_PATH should already have been prepended
to $PATH before a hoook is called). But the updated form should
also work, and it is the form we humans need to type, so let's take
> case "$mb,$2" in
> "$2,$mb") info "Update is fast-forward" ;;
> *) noff=y; info "This is not a fast-forward update.";;