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

Re: [PATCH 1/4] Add history graph API

From
Adam Simpkins <adam@adamsimpkins.net>
Date
Apr 7, 2008, 08:34 UTC
Message-ID
<20080407083412.GA9764@adamsimpkins.net>
In-Reply-To
<200804070824.10764.tlikonen@iki.fi>
On Mon, Apr 07, 2008 at 08:24:10AM +0300, Teemu Likonen wrote:
Show 23 quoted lines
> Adam Simpkins kirjoitti:
> 
> > Actually, going back and testing this, it looks like I have a bug
> > when handling --graph together with --pretty=format.  There's a
> > missing newline after the user's format message and the next graph
> > line.  I'll try to fix this and submit a patch later this evening.
> 
> Also, the output is not indented for options that display some 
> additional information to commit message. Those include:
> 
> --raw
> --stat
> --numstat
> --shortstat
> --summary
> --name-only
> --name-status
> 
> I'm not sure if the diff output of -p, -u etc. should be 
> indented--probably not--but for different stat and summary options it 
> would be nice to not have their output displayed over the graph area. 
> Especially --name-status is funny since it displays "M" to column 1 to 
> indicate modified file while "M" also means merge commit in the graph.

Hmm. This is a harder problem to fix. All of the options you list above are handled by the internal diff API. The diff API doesn't have any knowledge about log and rev-list options, such as --graph.

The nicest way to fix this would probably be to write new diff API functions that output to a strbuf instead of printing directly to stdout. Then the log code could prefix each line of the buffer with the graph info before printing it.

However, this would be a lot of work, and I'm not sure that it's really worth the effort at the moment. For now, I'm leaning towards changing the code to just exit with an error if --graph is used with any of these options.

Any opinions?  Alternative suggestions?
-- 
Adam Simpkins
adam@adamsimpkins.net
Previous: Teemu LikonenNext: Teemu Likonen
Message 26 of 37 in “Add history graph API”
  1. 1/4 Add history graph APIAdam Simpkins, Apr 6, 2008
  2. 2/4 graph API: Added additional utility functions to the graph APIAdam Simpkins, Apr 6, 2008
  3. 3/4 git log and git rev-list: Add --graph optionAdam Simpkins, Apr 6, 2008
  4. 4/4 git log: Updated --graph to work even when the commit list is prunedAdam Simpkins, Apr 6, 2008
  5. 5/5 Document the new --graph option for log and rev-listAdam Simpkins, Apr 6, 2008
  6. 1/4 graph API: Fixed coding style problemsAdam Simpkins, Apr 7, 2008
  7. 2/4 log and rev-list: Fixed newline termination issues with --graphAdam Simpkins, Apr 7, 2008
  8. 3/4 log and rev-list: Fix --graph output with --pretty=emailAdam Simpkins, Apr 7, 2008
  9. 4/4 log and rev-list: Improve --graph output when commits have been prunedAdam Simpkins, Apr 7, 2008
  10. Junio C HamanoApr 7, 2008
  11. Junio C HamanoApr 7, 2008
  12. Jeff KingApr 7, 2008
  13. Junio C HamanoApr 7, 2008
  14. Adam SimpkinsApr 7, 2008
  15. Jakub NarebskiApr 7, 2008
  16. Junio C HamanoApr 8, 2008
  17. Govind SalinasApr 8, 2008
  18. Junio C HamanoApr 8, 2008
  19. Teemu LikonenApr 6, 2008
  20. Adam SimpkinsApr 6, 2008
  21. Teemu LikonenApr 6, 2008
  22. Adam SimpkinsApr 6, 2008
  23. Johannes SchindelinApr 6, 2008
  24. Adam SimpkinsApr 6, 2008
  25. Teemu LikonenApr 7, 2008
  26. Adam SimpkinsApr 7, 2008
  27. Teemu LikonenApr 7, 2008
  28. Johannes SchindelinApr 6, 2008
  29. Adam SimpkinsApr 6, 2008
  30. Johannes SchindelinApr 6, 2008
  31. Adam SimpkinsApr 6, 2008
  32. Linus TorvaldsApr 7, 2008
  33. Junio C HamanoApr 7, 2008
  34. bash: Add command line completion of --graph (git log)Teemu Likonen, Apr 6, 2008
  35. bash: Add more command line option completions for 'git log'Teemu Likonen, Apr 7, 2008
  36. Teemu LikonenApr 7, 2008
  37. Adam SimpkinsApr 7, 2008

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.