Bug: Inconsistent behavior of "Next" and "Prev" buttons on M-to-N replacements
From: Dmitry <wipedout_at_yandex.ru>
Date: Mon, 22 Feb 2010 17:33:46 +0300
Hey.
Here's incorrect behavior in r18679.
Open a file in the working copy and replace lines 10 and 11 with one line, spawn TMerge to show the diff. TMerge will say that lines 10 and 11 on the left are replaced with line 10 on the right. Put the caret onto line 11 on the left. "Previous difference" lights up, but when you press it nothing happens.
Now open another file and do the opposite. Remove line 8, replace it with two lines, remove line 15, replace it with two lines. Spawn TMerge. It will say that line 8 on the left is replaced with lines 8 and 9 on the right and line 15 on the left is replaced with lines 16 and 17 on the right. Put the caret onto the blank line under the line 15 on the left and press "Previous" - the selection moves to line 15. Press "Previous" again - the selection moves onto the blank line under line 8 and the "Previous" button is dimmed - no chances to go to the line 8, although it is not in the current selection.
Those are direct consequences of what I claimed in the now abandoned thread http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2444049 The point is SVN diff produces uniform data for the abovementioned cases, but TMerge interprets them differently. I've spent a while stepping over the code and the closest I could get to the problem is the CBaseView::SelectNextBlock() method, especially the loop on line 2098.
Will you please pay attention to this?
Thank you.
------------------------------------------------------
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
|
This is an archived mail posted to the TortoiseSVN Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.