Web lists-archives.com

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




On Mon, Feb 4, 2019 at 5:36 PM Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> wrote:
>
> The documentation saying that diff-tree didn't support anything except
> literal prefixes hasn't been true since
> d38f28093e ("tree_entry_interesting(): support wildcard matching",
> 2010-12-15), but this documentation was not updated at the time.
>
> Since this command uses pathspecs like most other commands, there's no
> need to show examples of how the various "cmd <revs> <paths>"
> invocations work.
>
> Furthermore, the "git diff-tree --abbrev 5319e4" example shown here
> never worked. We'd ended up with that through a combination of
> 62b42d3487 ("docs: fix some antique example output", 2011-05-26) and
> ac4e086929 ("Adjust core-git documentation to more recent Linus GIT.",
> 2005-05-05), but "git diff-tree <tree>" was always invalid.

Nice!

I was going to protest "but it does not work!" but I was thinking
ls-tree instead of diff-tree.

>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
> ---
>  Documentation/git-diff-tree.txt | 51 +--------------------------------
>  1 file changed, 1 insertion(+), 50 deletions(-)
>
> diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
> index 2319b2b192..43daa7c046 100644
> --- a/Documentation/git-diff-tree.txt
> +++ b/Documentation/git-diff-tree.txt
> @@ -31,10 +31,7 @@ include::diff-options.txt[]
>
>  <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.
>
>  -r::
>          recurse into sub-trees
> @@ -114,52 +111,6 @@ include::pretty-options.txt[]
>
>
>  include::pretty-formats.txt[]
> -
> -
> -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.
> -
> -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.
> -
> -An example of normal usage is:
> -
> -  torvalds@ppc970:~/git> git diff-tree --abbrev 5319e4
> -  :100664 100664 ac348b... a01513...   git-fsck-objects.c
> -
> -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@xxxxxxxxxxxxxxx> Sat Apr 9 12:02:30 2005
> -committer Linus Torvalds <torvalds@xxxxxxxxxxxxxxx> 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).
> -
> -
>  include::diff-format.txt[]
>
>  GIT
> --
> 2.20.1.611.gfbb209baf1
>


-- 
Duy