A huge Java file has been extensively modified by both my company and another company, and now is time to merge.
Usually I use Meld or Kdiff3, but today I feel that a better tool is needed. Meld does not show ANCESTOR, and merging in Kdiff3 means that for each change I can only keep either MINE or THEIRS, I can't add both or edit to merge the good stuff of both sides.
Absolute requirements:
- See 3 files side-by-side: ANCESTOR, THEIRS, MINE
- Ability to edit MINE, saving refreshes the diff/merge
- Show character-level diff with color
- Refresh does not lose cursor/scroll location
- Open source
- Usable on Linux
Bonus for smart Java/C# method blocks recognition:
- Recognize method prototypes and gives them a lot more weight than other lines.
- Don't split Javadoc+method blocks
- UI foldable method-by-method
- Ideally can tell me beforehand about methods that have been moved around
- Add all imports generously, as removing unneeded ones is an easy later fix.
Note: Each of the two branches have their own history of commits and sub-branches which are publicly accessible on Github.