--- /usr/bin/gitk 2007-08-06 07:55:41.000000000 +0930 +++ /home/pmdumuid/bin/gitkpmd 2007-09-07 14:09:28.000000000 +0930 @@ -609,7 +609,9 @@ -command changediffdisp -variable diffelide -value {0 1} radiobutton .bleft.mid.new -text "New version" \ -command changediffdisp -variable diffelide -value {1 0} - pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new -side left + button .bleft.top.meld -text "GUI diff" -command doguidiff \ + -font $uifont + pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new .bleft.top.meld -side left set ctext .bleft.ctext text $ctext -background $bgcolor -foreground $fgcolor \ -state disabled -font $textfont \ @@ -4564,6 +4566,19 @@ } } +proc doguidiff {} { + global cflist sha1string + + set taglist [$cflist tag ranges highlight] + set from [lindex $taglist 0] + set to [lindex $taglist 1] + + set fname [$cflist get $from $to] + exec cg-admin-cat -r $sha1string^ $fname > .gitk_diffolder + exec cg-admin-cat -r $sha1string $fname > .gitk_diffnewer + exec meld .gitk_diffolder .gitk_diffnewer & +} + proc dosearch {} { global sstring ctext searchstring searchdirn