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

Re: [PATCH 1/2] documentation fix: git log -p does not imply -c.

From
Jeff King <peff@peff.net>
Date
Mar 7, 2011, 19:12 UTC
Message-ID
<20110307191218.GA20930@sigill.intra.peff.net>
In-Reply-To
<7vtyfe22vy.fsf@alter.siamese.dyndns.org>
On Mon, Mar 07, 2011 at 10:37:21AM -0800, Junio C Hamano wrote:
Show 10 quoted lines
> > Hmm. "git show" seems to show --cc, but "git log -p" does not show
> > anything.
> 
> The intention has always been to default to --cc since 0fe7c1d (built-in
> diff: assorted updates., 2006-04-29) for "diff" if I am not misremembering
> things, but you are right---"log" is a tad different.
> 
> The code does not want to use --cc by default for "log", and I don't think
> that should change.  See 1aec791 (git log: don't do merge diffs by
> default, 2006-04-19).

Thanks for the history. I think the doc problem was an inaccuracy that snuck in during 272bd3c (Include diff options in the git-log manpage, 2007-11-01). Nearly identical text (without the inaccuracy) is in the "Diff Format For Merges" section in diff-format.txt.

Furthermore, the copied text talks about diff-index and diff-tree, but gets included inline in git-log(1) (although the part in diff-format.txt does not get included in git-log's manpage)[1]. So probably it's reasonable to clean it up to something like:

diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt
index 3ac2bea..3d02da9 100644
--- a/Documentation/diff-generate-patch.txt
+++ b/Documentation/diff-generate-patch.txt
@@ -74,10 +74,12 @@ separate lines indicate the old and the new mode.
 combined diff format
 --------------------
 
-"git-diff-tree", "git-diff-files" and "git-diff" can take '-c' or
-'--cc' option to produce 'combined diff'.  For showing a merge commit
-with "git log -p", this is the default format; you can force showing
-full diff with the '-m' option.
+Any diff-generating command can take the `-c` or `--cc` option to
+produced a 'combined diff' when showing a merge. This is the default
+format when showing merge conflicts with linkgit:git-diff[1] or a merge
+commit with linkgit:git-show[1]. Note also that you can vie the full
+diff with the `-m` option.
+
 A 'combined diff' format looks like this:
 
 ------------

-- >8 --

Is there any way to get "git diff" to show combined-form besides an
index with conflicts? I couldn't convince it to show me a merge commit
beside its parents, since it doesn't have an equivalent to diff-tree's
--stdin option.

-Peff

[1] Reading over this, the whole section could use some editing. I think
this is another example that needs to be broken out into its own
user-visible manpage. That is, we have too much "if you use the -p
option to command X, or command Y by default, or command Z without
--raw, then you see this format". That's pretty dense. Instead command X
should have:

  -p::
  --stat::
  --summary::
  [etc]
    Generate diffs in this format. See "git help diff-formats" for
    details. The default format is "-p".

and then diff-format.txt should _just_ be a description of the diff
formats, without worrying about commands at all. And probably the text
above should be factored out as part of diff-options.txt. But that's all
part of a much bigger documentation architecture change that I am hoping
to get to eventually. For now, I think it's worth just tweaking this
text to stop being inaccurate.
Previous: Junio C HamanoNext: Adam Monsen
Message 12 of 26 in “frustrated forensics: hard to find diff that undid a fix”
  1. Adam MonsenMar 5, 2011
  2. Jonathan del StrotherMar 5, 2011
  3. Jakub NarebskiMar 5, 2011
  4. Jonathan NiederMar 5, 2011
  5. Jeff KingMar 5, 2011
  6. Adam MonsenMar 5, 2011
  7. 0/2 improve combined diff documentationAdam Monsen, Mar 5, 2011
  8. 1/2 documentation fix: git log -p does not imply -c.Adam Monsen, Mar 5, 2011
  9. Junio C HamanoMar 7, 2011
  10. Jeff KingMar 7, 2011
  11. Junio C HamanoMar 7, 2011
  12. Jeff KingMar 7, 2011
  13. Documentation fix: git log -p does not imply -c.Adam Monsen, Mar 7, 2011
  14. Junio C HamanoMar 8, 2011
  15. Documentation fix: git log -p does not imply -c.Adam Monsen, Mar 8, 2011
  16. Junio C HamanoMar 8, 2011
  17. Adam MonsenMar 8, 2011
  18. Junio C HamanoMar 9, 2011
  19. Adam MonsenMar 9, 2011
  20. SubmittingPatches: clean up commit message tipsAdam Monsen, Mar 9, 2011
  21. Junio C HamanoMar 9, 2011
  22. diff format documentation: clarify --cc and -cAdam Monsen, Mar 8, 2011
  23. diff format documentation: clarify --cc and -cAdam Monsen, Mar 8, 2011
  24. Jeff KingMar 8, 2011
  25. 2/2 English grammar fixes for combined diff doc.Adam Monsen, Mar 5, 2011
  26. Martin von ZweigbergkMar 5, 2011

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.