request: faster manual alignment

Support for our DiffMerge utility.

Moderator: SourceGear

Post Reply
alevy
Posts: 4
Joined: Thu Dec 02, 2010 2:15 pm

request: faster manual alignment

Post by alevy » Mon Dec 06, 2010 10:03 am

Hi-

The manual alignment feature is great, but the implementation is sort of cumbersome. Would it be possible to have a new button on the diff screen that says "add/remove manual alignment marker," instead of having to the two-step process of first opening the manual alignment window, then adding them there? Even better would be to have a hotkey (either Alt+A for "align" or Alt-M for "manual alignment" makes sense to me) that toggles a marker on the currently selected lines.

I'm not suggesting that you get rid of the manual alignment marker window, by the way. I think that's good to have when you want to see all of the marker locations at once, but in many cases it's unnecessary.

Thanks.

jeffhostetler
Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
Contact:

Re: request: faster manual alignment

Post by jeffhostetler » Mon Dec 06, 2010 10:45 am

Yeah, the whole marker feature is kinda clunky (if we're being honest).
I didn't like the way the dialog came out, but I couldn't think of any else
at the time (and I was running out of time).

As for a hot-key to turn it on on the current line, yeah that would be easy.
The hard part is dragging/moving/specifying the correct corresponding lines
in the other panels. Especially in a cross-platform manner. And without an
insane amount of re-diffing/re-drawing (especially on a merge window).

Also/alternatively, having the dialog forces line positions on both or all 3
panels to be specified in advance and keeps us out of a weird state in the
main window.

I'll log this for further thought, but I can't promise anything.
thanks
jeff

alevy
Posts: 4
Joined: Thu Dec 02, 2010 2:15 pm

Re: request: faster manual alignment

Post by alevy » Mon Dec 06, 2010 12:01 pm

Thanks for the quick reply. This is the second time I've been impressed with the quick turnaround from you guys.
As for a hot-key to turn it on on the current line, yeah that would be easy.
The hard part is ... without an
insane amount of re-diffing/re-drawing (especially on a merge window).
I might be missing your point here, I'm not sure. However, I don't think it's a problem to re-diff after applying a marker, it's expected/required. You raise a valid concern about too much re-diffing, though. Off the top of my head, one possibility would be to have a user-settable option that says "re-diff after each marker", or "re-diff after applying all markers". For example, if I know in advance that I want four markers, I could specify them, then hit the "apply" button, and then one diff would take place instead of four.
Also/alternatively, having the dialog forces line positions on both or all 3
panels to be specified in advance and keeps us out of a weird state in the
main window.
I think you already handle that well. Simply click the lines you want to align and hit the hot-key, and you're off to the races, just like now you can click on the lines and hit the insert button on the dialog. I'm not asking for a change in the functionality of this feature, just the interface to it.

Thanks.

kavika
Posts: 1
Joined: Thu Aug 23, 2012 11:52 am

Re: request: faster manual alignment

Post by kavika » Thu Aug 23, 2012 12:04 pm

A convenient version of this feature is a must-have for me to even bother trying this tool. Please bump it up in priority :) No diff algorithm is good enough to always align correctly, and any developer that thinks otherwise is kidding themselves.

For user interface ideas, see how Beyond Compare (best), Diffuse (decent) and kdiff3 (clunky but at least works quickly) handle this.

Having a right-click context menu option, a hotkey, and a button are all viable options, IMO, in order of convenience.

Beyond compare allows you to have a different selection in each diff pane, which is super convenient for this feature. If you have a selection in each pane, then the option is enabled. This is super intuitive and very quick to work with.

Diffuse enables the context menu on a line in a pane when you have a selection in a different pane. This is less intuitive, but still works well enough.

kdiff3 also supports manual alignment, but with a hotkey/menu item only. You select one line in one pane and hit the hotkey, then select a line in a different pane and hit the hotkey again. This isn't terribly convenient or intuitive but it works okay once you've become used to it.

jeffhostetler
Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
Contact:

Re: request: faster manual alignment

Post by jeffhostetler » Thu Aug 23, 2012 1:03 pm

Thanks for the suggestions. I'll take another look at the
other products and see what I can do. But it'll be a while
before I have anything to show.

(And you're right, no algorithm is good enough to catch/guess
the right answer in all cases, so this is something I definitely
need to improve in the program. I was just complaining about
this (to myself) the other day during a nasty merge that I was in
the middle of....)

jeff

Post Reply