Now that git log -L has hit master, I figure it's time to discuss the
corresponding change to gitk.

The hard part is that AFAICS this is the first history display
accessible through gitk that can only be computed in one go.  The
existing displays all work by having git-log perform a preliminary
search for the involved commits (or in some cases, only part of the
range while we fetch more).  log -L has to compute all the diffs
anyway, so nothing can be saved by attempting this; it is better to
load everything in bulk from a single git-log invocation.

Thus, patches 1--3 implement the infrastructure required to be able to
work from a single git-log command.

I would have loved to instead make a feature that also generalizes to

  git log --parents <whatever> | gitk --read-stdin

(or some other similar option).  This would make for much easier
testing of new git-log options.  Unfortunately this seems much harder
to achieve in the current structure of gitk.

Note: all my Tk-ing is computationally indistinguishable from cargo
culting.  Please review with a grain of salt.

Thomas Rast (4):
  gitk: refactor per-line part of getblobdiffline and its support
  gitk: split out diff part in $commitinfo
  gitk: support showing the gathered inline diffs
  gitk: recognize -L option

 gitk | 462 ++++++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 266 insertions(+), 196 deletions(-)


To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to