The current manual alignment, while workable, can be improved. One really annoying thing is that every time a manual alignment is set, the views are reloaded to the beginning of the file. A really convenient thing would be if the views stayed in the same general location, except with the alignment applied.
Another issue is that if a mistake is made in the manual alignment, the only choice is to try & add more to fix it or to clear all alignments and restart. Clearing all alignments is annoying because it resets all the merge conflicts that may have been fixed so far; my workflow is to go conflict-by-conflict resolving issues. I have found for larger, more involved, changes I'm forced to try to do all manual alignments up-front before I start conflict resolution.
Finally, manual alignment is vague since there's no visual feedback about where they exist currently.
The interface that would be ideal IMO, is something as follows:
Click on the line-number I want to set the manual alignment.
An arrow looking like a sticky-note appears (think Xcode breakpoints) with a number overlayed on it. The number is, by default, 1 + the previous manual alignment set in the file.
The arrow behave like it does in Xcode; I should be able to drag it up and down & then pulling it off the number-line deletes it.
Double-clicking on the arrow, makes the number editable.
Additionally, it would be great if I could manually align blank lines in 1 file with non-existent lines in another.
Oh - kind of implicit, but the manual alignments with the same number correspond to the matching that occurs. I.e. if I drop down a manual alignment marker in file 1 & change it to #2, drop down 2 manual alignment markers in file 2, and 2 more in file 3, the expected behaviour would be that the first two markers in files 2 & 3 are aligned with auto-aligning occurring for file 1 (e.g. deleted lines) and files 1, 2, & 3 would be aligned at marker #2.