git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] diff-tree doc: correct & remove wrong documentation

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 4, 2019, 21:10 UTC
Message-ID
<xmqqpns7tg2x.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<20190204103618.17992-1-avarab@gmail.com>
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
Show 7 quoted lines
>  <path>...::
>  	If provided, the results are limited to a subset of files
> -	matching one of these prefix strings.
> -	i.e., file matches `/^<pattern1>|<pattern2>|.../`
> -	Note that this parameter does not provide any wildcard or regexp
> -	features.
> +	matching one of the provided pathspecs.
Correct.
Show 16 quoted lines
> -
> -
> -LIMITING OUTPUT
> ----------------
> -If you're only interested in differences in a subset of files, for
> -example some architecture-specific files, you might do:
> -
> -	git diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64
> -
> -and it will only show you what changed in those two directories.
> -
> -Or if you are searching for what changed in just `kernel/sched.c`, just do
> -
> -	git diff-tree -r <tree-ish> <tree-ish> kernel/sched.c
> -
> -and it will ignore all differences to other files.

All of the above give still useful piece of information to the readers. I do not think it is a good idea to assume familiarilty with pathspec limiting to all readers---a new reader must start somewhere and diff-tree may just be a random place s/he started at.

So I do not think it is a good idea to drop this example or the section from the page.

> -The pattern is always the prefix, and is matched exactly.  There are no
> -wildcards.  Even stricter, it has to match a complete path component.
> -I.e. "foo" does not pick up `foobar.h`.  "foo" does match `foo/bar.h`
> -so it can be used to name subdirectories.
I agree with the patch that this paragraph should go.
> -An example of normal usage is:
> -
> -  torvalds@ppc970:~/git> git diff-tree --abbrev 5319e4
> -  :100664 100664 ac348b... a01513...	git-fsck-objects.c

Interesting. This does not work (and I do not think it has ever worked) for a tree object 5319e4, but it works as advertised for a commit object.

The description section has this near the top
       If there is only one <tree-ish> given, the commit is compared
       with its parents (see --stdin below).
              
I think s/given,/& it must be a commit-ish and/ would be appropriate
there; please include such a fix in a reroll.

I agree with this patch that it is a good idea to drop this example; it is more appropriate to use "git show" on the commit-ish in the case of the given example anyway.

Show 19 quoted lines
> -
> -which tells you that the last commit changed just one file (it's from
> -this one:
> -
> ------------------------------------------------------------------------------
> -commit 3c6f7ca19ad4043e9e72fa94106f352897e651a8
> -tree 5319e4d609cdd282069cc4dce33c1db559539b03
> -parent b4e628ea30d5ab3606119d2ea5caeab141d38df7
> -author Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005
> -committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005
> -
> -Make "git-fsck-objects" print out all the root commits it finds.
> -
> -Once I do the reference tracking, I'll also make it print out all the
> -HEAD commits it finds, which is even more interesting.
> ------------------------------------------------------------------------------
> -
> -in case you care).
> -
Previous: Duy NguyenNext: Ævar Arnfjörð Bjarmason
Message 22 of 44 in “nd/struct-pathspec v2”
  1. 00/21 nd/struct-pathspec v2Nguyễn Thái Ngọc Duy, Dec 15, 2010
  2. 01/21 Add struct pathspecNguyễn Thái Ngọc Duy, Dec 15, 2010
  3. 02/21 diff-no-index: use diff_tree_setup_paths()Nguyễn Thái Ngọc Duy, Dec 15, 2010
  4. 03/21 Convert struct diff_options to use struct pathspecNguyễn Thái Ngọc Duy, Dec 15, 2010
  5. 04/21 tree_entry_interesting(): remove dependency on struct diff_optionsNguyễn Thái Ngọc Duy, Dec 15, 2010
  6. 05/21 Move tree_entry_interesting() to tree-walk.c and export itNguyễn Thái Ngọc Duy, Dec 15, 2010
  7. 06/21 glossary: define pathspecNguyễn Thái Ngọc Duy, Dec 15, 2010
  8. 07/21 diff-tree: convert base+baselen to writable strbufNguyễn Thái Ngọc Duy, Dec 15, 2010
  9. 08/21 tree_entry_interesting(): refactor into separate smaller functionsNguyễn Thái Ngọc Duy, Dec 15, 2010
  10. 09/21 tree_entry_interesting(): support depth limitNguyễn Thái Ngọc Duy, Dec 15, 2010
  11. Junio C HamanoJan 28, 2011
  12. Nguyen Thai Ngoc DuyJan 29, 2011
  13. tree_entry_interesting(): with no pathspecs, everything will matchJunio C Hamano, Jan 31, 2011
  14. 10/21 tree_entry_interesting(): fix depth limit with overlapping pathspecsNguyễn Thái Ngọc Duy, Dec 15, 2010
  15. Junio C HamanoDec 16, 2010
  16. Nguyen Thai Ngoc DuyDec 17, 2010
  17. Junio C HamanoDec 17, 2010
  18. Nguyen Thai Ngoc DuyDec 18, 2010
  19. 11/21 tree_entry_interesting(): support wildcard matchingNguyễn Thái Ngọc Duy, Dec 15, 2010
  20. diff-tree doc: correct & remove wrong documentationÆvar Arnfjörð Bjarmason, Feb 4, 2019
  21. Duy NguyenFeb 4, 2019
  22. Junio C HamanoFeb 4, 2019
  23. Ævar Arnfjörð BjarmasonFeb 4, 2019
  24. 12/21 tree_entry_interesting(): optimize wildcard matching when base is matchedNguyễn Thái Ngọc Duy, Dec 15, 2010
  25. 13/21 pathspec: add match_pathspec_depth()Nguyễn Thái Ngọc Duy, Dec 15, 2010
  26. 14/21 Convert ce_path_match() to use struct pathspecNguyễn Thái Ngọc Duy, Dec 15, 2010
  27. Junio C HamanoDec 17, 2010
  28. Nguyen Thai Ngoc DuyDec 17, 2010
  29. 14/21 struct rev_info: convert prune_data to struct pathspecNguyễn Thái Ngọc Duy, Dec 17, 2010
  30. 15/21 Convert ce_path_match() to use struct pathspecNguyễn Thái Ngọc Duy, Dec 17, 2010
  31. Junio C HamanoDec 17, 2010
  32. Nguyen Thai Ngoc DuyDec 17, 2010
  33. Junio C HamanoDec 17, 2010
  34. 15/21 Convert ce_path_match() to use match_pathspec_depth()Nguyễn Thái Ngọc Duy, Dec 15, 2010
  35. 16/21 grep: convert to use struct pathspecNguyễn Thái Ngọc Duy, Dec 15, 2010
  36. 17/21 grep: use match_pathspec_depth() for cache/worktree greppingNguyễn Thái Ngọc Duy, Dec 15, 2010
  37. 18/21 strbuf: allow "buf" to point to the middle of the allocated bufferNguyễn Thái Ngọc Duy, Dec 15, 2010
  38. 19/21 grep: use writable strbuf from caller in grep_tree()Nguyễn Thái Ngọc Duy, Dec 15, 2010
  39. Junio C HamanoDec 17, 2010
  40. Nguyen Thai Ngoc DuyDec 17, 2010
  41. 19/21 grep: use writable strbuf from caller for grep_tree()Nguyễn Thái Ngọc Duy, Dec 17, 2010
  42. 20/21 grep: drop pathspec_matches() in favor of tree_entry_interesting()Nguyễn Thái Ngọc Duy, Dec 15, 2010
  43. 20/21 grep: drop pathspec_matches() in favor of tree_entry_interesting()Nguyễn Thái Ngọc Duy, Dec 17, 2010
  44. 21/21 t7810: overlapping pathspecs and depth limitNguyễn Thái Ngọc Duy, Dec 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.