gitk: Fix direction of symmetric difference in optimized mode
authorThomas Rast <trast@student.ethz.ch>
Wed, 5 Aug 2009 21:15:36 +0000 (23:15 +0200)
committerPaul Mackerras <paulus@samba.org>
Thu, 13 Aug 2009 11:49:11 +0000 (21:49 +1000)
commit2b1fbf90aa9c0fb2a1033793728aebf77c11334d
tree5d7c89d698f9a46c36418fbbdebc60dfab94994a
parentffe15297b031814c5cda5d82a6555683c8e80dcc
gitk: Fix direction of symmetric difference in optimized mode

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>
gitk