summaryrefslogtreecommitdiff
path: root/gitk
diff options
context:
space:
mode:
authorLibravatar Paul Mackerras <paulus@dorrigo.(none)>2005-07-31 21:35:21 +1000
committerLibravatar Paul Mackerras <paulus@dorrigo.(none)>2005-07-31 21:35:21 +1000
commit1115fb38df53d1151eba3142f8acb9672ea2c9c4 (patch)
tree76d3b4ff34b3e8d33d0294a5e0b750252d51a996 /gitk
parentImprove the merge display when the result differs from all parents. (diff)
downloadtgif-1115fb38df53d1151eba3142f8acb9672ea2c9c4.tar.xz
Fix some bugs causing application error popups.
Specifically this should fix the following errors: wrong # args: should be "startdiff ids" (fix from Junio Hamano) can't read "filelines(....)": no such element in array can't unset "treepending": no such variable
Diffstat (limited to 'gitk')
-rwxr-xr-xgitk14
1 files changed, 9 insertions, 5 deletions
diff --git a/gitk b/gitk
index 2aa970d5cf..efdb0a7f61 100755
--- a/gitk
+++ b/gitk
@@ -1729,7 +1729,9 @@ proc mergediff {id} {
set diffpindex -1
set diffmergegca [findgca $parents($id)]
if {[info exists mergefilelist($id)]} {
- showmergediff
+ if {$mergefilelist($id) ne {}} {
+ showmergediff
+ }
} else {
contmergediff {}
}
@@ -1753,7 +1755,7 @@ proc findgca {ids} {
proc contmergediff {ids} {
global diffmergeid diffpindex parents nparents diffmergegca
- global treediffs mergefilelist diffids
+ global treediffs mergefilelist diffids treepending
# diff the child against each of the parents, and diff
# each of the parents against the GCA.
@@ -1814,8 +1816,8 @@ proc contmergediff {ids} {
proc showmergediff {} {
global cflist diffmergeid mergefilelist parents
- global diffopts diffinhunk currentfile diffblocked
- global groupfilelast mergefds
+ global diffopts diffinhunk currentfile currenthunk filelines
+ global diffblocked groupfilelast mergefds groupfilenum grouphunks
set files $mergefilelist($diffmergeid)
foreach f $files {
@@ -1826,6 +1828,8 @@ proc showmergediff {} {
catch {unset currentfile}
catch {unset currenthunk}
catch {unset filelines}
+ catch {unset groupfilenum}
+ catch {unset grouphunks}
set groupfilelast -1
foreach p $parents($diffmergeid) {
set cmd [list | git-diff-tree -p $p $diffmergeid]
@@ -2700,7 +2704,7 @@ proc diffvssel {dirn} {
$ctext conf -state disabled
$ctext tag delete Comments
$ctext tag remove found 1.0 end
- startdiff $newid [list $oldid]
+ startdiff [list $newid $oldid]
}
proc mkpatch {} {