Thread (4 messages) flat view 4 messages, 2 authors, 2016-08-11

Re: [PATCH] config option core.showroot to enable showing the diff of the root commit

From: Peter Baumann <hidden>
Date: 2016-08-11 19:47:30

Possibly related (same subject, not in this thread)

On 2006-11-24, Junio C Hamano [off-list ref] wrote:
quoted
"git-diff-tree --color HEAD" (with explicit command line
instruction to color it) still colours its output, but "[diff]
color = auto" in ~/.gitconfig would not affect the coloring.
Hence, "git-diff-tree HEAD" with the configuration entry gives
monochrome.

"git diff HEAD" on the other hand looks at '[diff] color = auto"
and will color its output without being told on the command
line.
Since this is about "log" family that deals with revision
structure, how about....

-- >8 --
[PATCH] config option log.showroot to show the diff of root commits
[...]

Patch looks good.

One question, what's the difference between git-log -p and git-whatchanged -p?
I could only see it differ in the root commit handling.

Interesting parts marked with | as first character of the line.

  git-repo-config --get log.showroot
  false

  git-log -p 8bc9a0c769ac1df7820f2dbf8f7b7d64835e3c68
  commit 8bc9a0c769ac1df7820f2dbf8f7b7d64835e3c68
  Author: Linus Torvalds [off-list ref]
  Date:   Thu Apr 7 15:16:10 2005 -0700

      Add copyright notices.

      The tool interface sucks (especially "committing" information, which is just
      me doing everything by hand from the command line), but I think this is in
      theory actually a viable way of describing the world. So copyright it.

  diff --git a/cat-file.c b/cat-file.c
  index 74a0a23..d8f0121 100644
  --- a/cat-file.c
  +++ b/cat-file.c
  @@ -1,3 +1,8 @@
  +/*
  + * GIT - The information manager from hell
  + *
  + * Copyright (C) Linus Torvalds, 2005
  + */
   #include "cache.h"

   int main(int argc, char **argv)

  [... rest of the diff ...]

| commit e83c5163316f89bfbde7d9ab23ca2e25604af290
| Author: Linus Torvalds [off-list ref]
| Date:   Thu Apr 7 15:13:13 2005 -0700
|
|     Initial revision of "git", the information manager from hell
|
  [ ... as specified in log.showroot, no diff of the root commit ...]

  git-whatchanged -p 8bc9a0c769ac1df7820f2dbf8f7b7d64835e3c68
  commit 8bc9a0c769ac1df7820f2dbf8f7b7d64835e3c68
  Author: Linus Torvalds [off-list ref]
  Date:   Thu Apr 7 15:16:10 2005 -0700
  
      Add copyright notices.
      
      The tool interface sucks (especially "committing" information, which is just
      me doing everything by hand from the command line), but I think this is in
      theory actually a viable way of describing the world. So copyright it.
  
  diff --git a/cat-file.c b/cat-file.c
  index 74a0a23..d8f0121 100644
  --- a/cat-file.c
  +++ b/cat-file.c
  @@ -1,3 +1,8 @@
  +/*
  + * GIT - The information manager from hell
  + *
  + * Copyright (C) Linus Torvalds, 2005
  + */
   #include "cache.h"
   
   int main(int argc, char **argv)

  [... rest of the diff ...]
|
| [ ... no commit message etc from the root commit is shown ...]
|

As you can see, the root commit isn't shown. Is this intentional?
Or is it just me not getting the different meaning of git-log and
git-whatchanged?

Setting "log.showroot = true" the output of the 2 commands is identical.

Peter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help