summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: fc4977e)
raw | patch | inline | side by side (parent: fc4977e)
author | Paul Mackerras <paulus@samba.org> | |
Tue, 4 Nov 2008 10:09:00 +0000 (21:09 +1100) | ||
committer | Paul Mackerras <paulus@samba.org> | |
Tue, 4 Nov 2008 10:09:00 +0000 (21:09 +1100) |
This modifies gettreediffline so that it when we get both a "U" line
and an "M" line for the same file in the output from git diff-files
or git diff-index --cached (used when the user clicks on a fake commit)
we don't add the same filename to the treediff list twice.
This also makes getblobdiffline recognize the "* Unmerged path ..."
lines we get when we ask for the actual diffs, and makes a tiny
optimization in makediffhdr.
Signed-off-by: Paul Mackerras <paulus@samba.org>
and an "M" line for the same file in the output from git diff-files
or git diff-index --cached (used when the user clicks on a fake commit)
we don't add the same filename to the treediff list twice.
This also makes getblobdiffline recognize the "* Unmerged path ..."
lines we get when we ask for the actual diffs, and makes a tiny
optimization in makediffhdr.
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk | patch | blob | history |
index f386981cc9f4da092ae7ffd0406213ed98124126..bea5026f62083e66427dfb369f5b41b0522ed141 100755 (executable)
--- a/gitk
+++ b/gitk
set file [lindex $file 0]
}
set file [encoding convertfrom $file]
- lappend treediff $file
- lappend sublist $file
+ if {$file ne [lindex $treediff end]} {
+ lappend treediff $file
+ lappend sublist $file
+ }
}
}
if {$perfile_attrs} {
if {$i >= 0} {
setinlist difffilestart $i $curdiffstart
}
- set ctext_file_names [lreplace $ctext_file_names end end $fname]
+ lset ctext_file_names end $fname
set l [expr {(78 - [string length $fname]) / 2}]
set pad [string range "----------------------------------------" 1 $l]
$ctext insert $curdiffstart "$pad $fname $pad" filesep
}
makediffhdr $fname $ids
+ } elseif {![string compare -length 16 "* Unmerged path " $line]} {
+ set fname [encoding convertfrom [string range $line 16 end]]
+ $ctext insert end "\n"
+ set curdiffstart [$ctext index "end - 1c"]
+ lappend ctext_file_names $fname
+ lappend ctext_file_lines [lindex [split $curdiffstart "."] 0]
+ $ctext insert end "$line\n" filesep
+ set i [lsearch -exact $treediffs($ids) $fname]
+ if {$i >= 0} {
+ setinlist difffilestart $i $curdiffstart
+ }
+
} elseif {![string compare -length 2 "@@" $line]} {
regexp {^@@+} $line ats
set line [encoding convertfrom $diffencoding $line]