Marcus Karlsson committed b2b76d1

gitk: Teach gitk to respect log.showroot

In early days, all projects managed by git (except for git itself) had the
product of a fairly mature development history in their first commit, and
it was deemed unnecessary clutter to show additions of these thousands of
paths as a patch.

"git log" learned to show the patch for the initial commit without requiring
--root command line option at 0f03ca9 (config option log.showroot to show
the diff of root commits, 2006-11-23).

Teach gitk to respect log.showroot.

[ Cleaned up the Tcl a bit, use --bool on the
git config call]

Signed-off-by: Marcus Karlsson <>
Signed-off-by: Paul Mackerras <>

  • Participants
  • Parent commits 6febded

Comments (0)

Files changed (1)

 proc diffcmd {ids flags} {
-    global nullid nullid2
+    global log_showroot nullid nullid2
     set i [lsearch -exact $ids $nullid]
     set j [lsearch -exact $ids $nullid2]
 	    lappend cmd HEAD
     } else {
+	if {$log_showroot} {
+	    lappend flags --root
+	}
 	set cmd [concat | git diff-tree -r $flags $ids]
     return $cmd
+set log_showroot true
+catch {
+    set log_showroot [exec git config --bool --get log.showroot]
 if {[tk windowingsystem] eq "aqua"} {
     set mainfont {{Lucida Grande} 9}
     set textfont {Monaco 9}