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

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

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Feb 4, 2019, 21:49 UTC
Message-ID
<87sgx3kyvm.fsf@evledraar.gmail.com>
In-Reply-To
<xmqqpns7tg2x.fsf@gitster-ct.c.googlers.com>
On Mon, Feb 04 2019, Junio C Hamano wrote:
Show 36 quoted lines
> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
>
>>  <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.
>
>> -
>> -
>> -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.

I was aiming for something like what e.g. "git-ls-files" says, which is just:

    Files to show. If no files are given all files which match the other
    specified criteria are shown.

But yes, having an example is good, but with this removed isn't the example we show in "RAW OUTPUT FORMAT" now just below sufficient to show what this remove section was trying (and failing) to do, i.e.:

    git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]
        compares the trees named by the two arguments.

That doesn't have --abbrev, but I think it's enough to leave that discussed in "OPTIONS" above.

Show 47 quoted lines
>> -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.
>
>> -
>> -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: Junio C HamanoNext: Nguyễn Thái Ngọc Duy
Message 23 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.