Skip to content

Commit

Permalink
gitk: Fix direction of symmetric difference in optimized mode
Browse files Browse the repository at this point in the history
ee66e08 (gitk: Make updates go faster, 2008-05-09) implemented an
optimized mode where gitk parses the arguments with rev-parse, and
manually reads history in chunks.  As mentioned in the commit message,
symmetric differences are a problem there:

    One wrinkle is that we have to turn symmetric diff arguments (of the
    form a...b) back into symmetric diff form so that --left-right still
    works, as git rev parse turns a...b into a b ^merge_base(a,b).

However, git-rev-parse returns a...b in the swapped order

    b a ^merge_base(a,b)

This has been the case since at least 1f8115b (the state of master at
the time of the abovementioned ee66e08; Merge branch 'maint',
2008-05-08).  So gitk flipped the sides of symmetric differences
whenever it was in optimized mode.

Fix this by swapping the sides of the reconstruction code.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Thomas Rast authored and Paul Mackerras committed Aug 13, 2009
1 parent ffe1529 commit 2b1fbf9
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion gitk
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ proc parseviewrevs {view revs} {
if {$sdm != 2} {
lappend ret $id
} else {
lset ret end [lindex $ret end]...$id
lset ret end $id...[lindex $ret end]
}
lappend pos $id
}
Expand Down

0 comments on commit 2b1fbf9

Please sign in to comment.