{"thread":{"id":"11623","subject":"Print Precedes/Follows in git log","startedAt":"2008-01-14T23:34:45Z","lastAt":"2008-01-15T06:38:49Z","messageCount":2,"participants":["Jan Engelhardt","Marco Costalba"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"65347","messageId":"Pine.LNX.4.64.0801150031480.2315@fbirervta.pbzchgretzou.qr","threadId":"11623","inReplyTo":null,"subject":"Print Precedes/Follows in git log","fromName":"Jan Engelhardt","fromEmail":"jengelh@computergmbh.de","sentAt":"2008-01-14T23:34:45Z","receivedAt":"2008-01-14T23:34:45Z","isPatch":false,"sender":{"key":"jengelh@computergmbh.de","avatar":null},"body":"Hi,\n\n\ngitk has a nice feature in that, when a commit is selected, it prints in \nthe log window something like:\n\n(id 1beeffe43311f64df8dd0ab08ff6b1858c58363f)\n\nAuthor: Tony Jones <tonyj@suse.de>  2007-08-20 22:46:20\nCommitter: Mark M. Hoffman <mhoffman@lightlink.com>  2007-10-10 04:56:30\nParent: 8afb10490b18e916e33707baa7d1cfc615d545ea (hwmon: (f71882fg) trivial whitespace cleanup)\nBranches: ...\nFollows: v2.6.23\nPrecedes: v2.6.24-rc1\n\nAnd it would be really nice if `git log` would also show the \nPrecedes/Follows lines so one can identify much more easily in\nbig logs like those of the Linux kernel what the next release to\nhave a given patch is.\n\n\nthanks,\nJan\n"},{"id":"65364","messageId":"e5bfff550801142238h3746841asb8c37110d49908cb@mail.gmail.com","threadId":"11623","inReplyTo":"Pine.LNX.4.64.0801150031480.2315@fbirervta.pbzchgretzou.qr","subject":"Re: Print Precedes/Follows in git log","fromName":"Marco Costalba","fromEmail":"mcostalba@gmail.com","sentAt":"2008-01-15T06:38:49Z","receivedAt":"2008-01-15T06:38:49Z","isPatch":false,"sender":{"key":"mcostalba@gmail.com","avatar":null},"body":"On Jan 15, 2008 12:34 AM, Jan Engelhardt <jengelh@computergmbh.de> wrote:\n>\n> And it would be really nice if `git log` would also show the\n> Precedes/Follows lines so one can identify much more easily in\n> big logs like those of the Linux kernel what the next release to\n> have a given patch is.\n>\n>\n\nYou need two complete revisions walk for this, one from the newest to\noldset to compute the 'precedes' and one from the oldest to newest to\ncompute the 'follows', so I would say it's more suitable used together\nwith --topo-order option of git log that already does a walk, at least\nthe slowdown is hidden in this case.\n\nAnyhow being able to compute precedes/following info in timely fashion\nand with low memory consumption is quite not trivial code, I have\nimplemented for qgit long time ago and I remember gave a kook at the\ngitk code for reference also if at the end my implementation it's a\nbit different (less memory used but slightly more complicated).\n\nJust to give an idea of timing, on my new and awesome ;-) laptop\nloading full Linux tree it takes 3316ms, then calculating\nprecedes/follows info (indexing the tree) it takes 233ms.\n\nPerhaps the slowest part is to load refs info, you need this to know\nwhat sha a tag/branch has and is a prerequisite to indexing, also if\nrefs are compacted it takes almost 1 second on my PC because there is\nheavy disk activity in any case.\n\nMarco\n"}]}