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

Re: Print Precedes/Follows in git log

From
MCMarco Costalba <mcostalba@gmail.com>
Date
Jan 15, 2008, 06:38 UTC
Message-ID
<e5bfff550801142238h3746841asb8c37110d49908cb@mail.gmail.com>
In-Reply-To
<Pine.LNX.4.64.0801150031480.2315@fbirervta.pbzchgretzou.qr>
On Jan 15, 2008 12:34 AM, Jan Engelhardt <jengelh@computergmbh.de> wrote:
Show 7 quoted lines
>
> And it would be really nice if `git log` would also show the
> Precedes/Follows lines so one can identify much more easily in
> big logs like those of the Linux kernel what the next release to
> have a given patch is.
>
>

You need two complete revisions walk for this, one from the newest to oldset to compute the 'precedes' and one from the oldest to newest to compute the 'follows', so I would say it's more suitable used together with --topo-order option of git log that already does a walk, at least the slowdown is hidden in this case.

Anyhow being able to compute precedes/following info in timely fashion and with low memory consumption is quite not trivial code, I have implemented for qgit long time ago and I remember gave a kook at the gitk code for reference also if at the end my implementation it's a bit different (less memory used but slightly more complicated).

Just to give an idea of timing, on my new and awesome ;-) laptop loading full Linux tree it takes 3316ms, then calculating precedes/follows info (indexing the tree) it takes 233ms.

Perhaps the slowest part is to load refs info, you need this to know what sha a tag/branch has and is a prerequisite to indexing, also if refs are compacted it takes almost 1 second on my PC because there is heavy disk activity in any case.

Marco
Previous: Jan Engelhardt
Message 2 of 2 in “Print Precedes/Follows in git log”
  1. Jan EngelhardtJan 14, 2008
  2. Marco CostalbaJan 15, 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.