git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] builtin/diff: fix incorrect comment
@ 2020-06-15 11:15 Denton Liu
  2020-06-17 18:07 ` Junio C Hamano
  2020-06-18 10:43 ` [PATCH v2] builtin/diff: update usage comment Denton Liu
  0 siblings, 2 replies; 3+ messages in thread
From: Denton Liu @ 2020-06-15 11:15 UTC (permalink / raw)
  To: Git Mailing List

A comment in cmd_diff() states that if one tree-ish and no blobs are
provided, it would provide a diff between the tree and the cache. This
is incorrect because a diff happens between the tree-ish and the working
tree. Remove the `--cached` in the comment so that the correct behavior
is shown.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
---
 builtin/diff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builtin/diff.c b/builtin/diff.c
index 8537b17bd5..1ebab58c55 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -276,7 +276,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
 	 *	compare a blob with a working tree file.
 	 *
 	 * N=1, M=0:
-	 *      tree vs cache (diff-index --cached)
+	 *      tree vs files (diff-index)
 	 *
 	 * N=2, M=0:
 	 *      tree vs tree (diff-tree)
-- 
2.27.0.132.g321788e831


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] builtin/diff: fix incorrect comment
  2020-06-15 11:15 [PATCH] builtin/diff: fix incorrect comment Denton Liu
@ 2020-06-17 18:07 ` Junio C Hamano
  2020-06-18 10:43 ` [PATCH v2] builtin/diff: update usage comment Denton Liu
  1 sibling, 0 replies; 3+ messages in thread
From: Junio C Hamano @ 2020-06-17 18:07 UTC (permalink / raw)
  To: Denton Liu; +Cc: Git Mailing List

Denton Liu <liu.denton@gmail.com> writes:

> A comment in cmd_diff() states that if one tree-ish and no blobs are
> provided, it would provide a diff between the tree and the cache. This
> is incorrect because a diff happens between the tree-ish and the working
> tree. Remove the `--cached` in the comment so that the correct behavior
> is shown.

Perhaps "diff-index [--cached]" is more appropriate, then?  After
all, "git diff --cached HEAD" would be N=1 M=0 case, no?

> Signed-off-by: Denton Liu <liu.denton@gmail.com>
> ---
>  builtin/diff.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/builtin/diff.c b/builtin/diff.c
> index 8537b17bd5..1ebab58c55 100644
> --- a/builtin/diff.c
> +++ b/builtin/diff.c
> @@ -276,7 +276,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
>  	 *	compare a blob with a working tree file.
>  	 *
>  	 * N=1, M=0:
> -	 *      tree vs cache (diff-index --cached)
> +	 *      tree vs files (diff-index)
>  	 *
>  	 * N=2, M=0:
>  	 *      tree vs tree (diff-tree)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2] builtin/diff: update usage comment
  2020-06-15 11:15 [PATCH] builtin/diff: fix incorrect comment Denton Liu
  2020-06-17 18:07 ` Junio C Hamano
@ 2020-06-18 10:43 ` Denton Liu
  1 sibling, 0 replies; 3+ messages in thread
From: Denton Liu @ 2020-06-18 10:43 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano

A comment in cmd_diff() states that if one tree-ish and no blobs are
provided, (the "N=1, M=0" case), it will provide a diff between the tree
and the cache. This is incorrect because a diff happens between the
tree-ish and the working tree. Remove the `--cached` in the comment so
that the correct behavior is shown. Add a new section describing the
"N=1, M=0, --cached" behavior.

Next, describe the "N=0, M=0, --cached" case, similar to the above since
it is undocumented.

Finally, fix some spacing issues. Add spaces between each section for
consistency and readability. Also, change tabs within the comment into
spaces.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
---

Notes:
    This change can be broken down into three separate commits but I figured
    it is a little bit overkill considering how little the scope of each
    individual change would be. If it's more readable as separate commits, I
    can resubmit it, though.

Range-diff against v1:
1:  a9aea5dbb8 ! 1:  54c5de021a builtin/diff: fix incorrect comment
    @@ Metadata
     Author: Denton Liu <liu.denton@gmail.com>
     
      ## Commit message ##
    -    builtin/diff: fix incorrect comment
    +    builtin/diff: update usage comment
     
         A comment in cmd_diff() states that if one tree-ish and no blobs are
    -    provided, it would provide a diff between the tree and the cache. This
    -    is incorrect because a diff happens between the tree-ish and the working
    -    tree. Remove the `--cached` in the comment so that the correct behavior
    -    is shown.
    +    provided, (the "N=1, M=0" case), it will provide a diff between the tree
    +    and the cache. This is incorrect because a diff happens between the
    +    tree-ish and the working tree. Remove the `--cached` in the comment so
    +    that the correct behavior is shown. Add a new section describing the
    +    "N=1, M=0, --cached" behavior.
    +
    +    Next, describe the "N=0, M=0, --cached" case, similar to the above since
    +    it is undocumented.
    +
    +    Finally, fix some spacing issues. Add spaces between each section for
    +    consistency and readability. Also, change tabs within the comment into
    +    spaces.
    +
    +
    + ## Notes ##
    +    This change can be broken down into three separate commits but I figured
    +    it is a little bit overkill considering how little the scope of each
    +    individual change would be. If it's more readable as separate commits, I
    +    can resubmit it, though.
     
      ## builtin/diff.c ##
     @@ builtin/diff.c: int cmd_diff(int argc, const char **argv, const char *prefix)
    - 	 *	compare a blob with a working tree file.
    + 
    + 	/*
    + 	 * We could get N tree-ish in the rev.pending_objects list.
    +-	 * Also there could be M blobs there, and P pathspecs.
    ++	 * Also there could be M blobs there, and P pathspecs. --cached may
    ++	 * also be present.
      	 *
    - 	 * N=1, M=0:
    --	 *      tree vs cache (diff-index --cached)
    + 	 * N=0, M=0:
    +-	 *	cache vs files (diff-files)
    ++	 *      cache vs files (diff-files)
    ++	 *
    ++	 * N=0, M=0, --cached:
    ++	 *      HEAD vs cache (diff-index --cached)
    ++	 *
    + 	 * N=0, M=2:
    + 	 *      compare two random blobs.  P must be zero.
    ++	 *
    + 	 * N=0, M=1, P=1:
    +-	 *	compare a blob with a working tree file.
    ++	 *      compare a blob with a working tree file.
    ++	 *
    ++	 * N=1, M=0:
     +	 *      tree vs files (diff-index)
      	 *
    + 	 * N=1, M=0:
    + 	 *      tree vs cache (diff-index --cached)
    + 	 *
    ++	 * N=1, M=0, --cached:
    ++	 *      tree vs files (diff-index)
    ++	 *
      	 * N=2, M=0:
      	 *      tree vs tree (diff-tree)
    + 	 *

 builtin/diff.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/builtin/diff.c b/builtin/diff.c
index 8537b17bd5..0f1a882bd7 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -266,18 +266,30 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
 
 	/*
 	 * We could get N tree-ish in the rev.pending_objects list.
-	 * Also there could be M blobs there, and P pathspecs.
+	 * Also there could be M blobs there, and P pathspecs. --cached may
+	 * also be present.
 	 *
 	 * N=0, M=0:
-	 *	cache vs files (diff-files)
+	 *      cache vs files (diff-files)
+	 *
+	 * N=0, M=0, --cached:
+	 *      HEAD vs cache (diff-index --cached)
+	 *
 	 * N=0, M=2:
 	 *      compare two random blobs.  P must be zero.
+	 *
 	 * N=0, M=1, P=1:
-	 *	compare a blob with a working tree file.
+	 *      compare a blob with a working tree file.
+	 *
+	 * N=1, M=0:
+	 *      tree vs files (diff-index)
 	 *
 	 * N=1, M=0:
 	 *      tree vs cache (diff-index --cached)
 	 *
+	 * N=1, M=0, --cached:
+	 *      tree vs files (diff-index)
+	 *
 	 * N=2, M=0:
 	 *      tree vs tree (diff-tree)
 	 *
-- 
2.27.0.132.g321788e831


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-06-18 10:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-15 11:15 [PATCH] builtin/diff: fix incorrect comment Denton Liu
2020-06-17 18:07 ` Junio C Hamano
2020-06-18 10:43 ` [PATCH v2] builtin/diff: update usage comment Denton Liu

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).