[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Issues with editing in TMerge

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2007-10-13 11:15:29 CEST

Simon Large wrote:
> Hi folks,
> Just trying out the editing features in TMerge, and I found behaviour
> I'm not sure of.
> If you delete lines from the right pane, they also disappear from the
> left pane. This is not consistent with the way TMerge normally shows
> lines which were originally in the file and have now been removed. I
> think the line should become empty and un-numbered. It means the
> editing does not behave like a normal text editor, but then the
> display is not really WYSIWYG anyway, due to the way it shows added
> and deleted lines.

I think this one is not so clear. Because once you start editing, the
file diff isn't correct anymore. To show the real file diff even when
editing, we'd have to run the diff function after every keystroke.
That's not really feasible.

That's why I implemented the editing to match text editors as close as
possible. That includes removing really removed lines.

I think it might confuse users if a removed line is not really removed
when editing. It's something else when *showing* the diff, but once you
start editing, users expect a different behavior.

> If you add a line in the right pane (cursor at left margin and press
> enter), the new line has no line number, so the line numbering
> sequence is broken. I think this is a bug. The left pane gains a new
> un-numbered line, which is correct.

I know. The problem with real accurate line numbers is that it would
require a lot of CPU processing to get it right. Since TortoiseMerge is
not a text editor where *every* line has a number but can have removed
lines with no number, we can't just show the line number as the index in
the view. We'd have to loop through the whole file to adjust every line
number assigned to the lines to make this correct.
It won't be a big problem for normal sized files, but if you have files
with 10Megs in size, adding a new line could take several seconds.

Question is: should we do it?

> If you combine adding and deleting lines, the left and right panes
> become out of sync. In the simplest case you can add a line in the
> right pane and then delete it again, and the right and left panes show
> different lines deleted.

I'll have a look at that.

> For showing differences in a WYSIWYG way, I think UltraCompare takes
> some beating (see screenshot) but doing anything like that would be a
> *major* chunk of work.

I can't see from the screenshot what you mean. Do you mean the diff bar
in the middle, showing the moving of the different blocks?


   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sat Oct 13 11:15:46 2007

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.