Although EGit is a nice tool for working with Git in Eclipse, it has the problem that its merge strategy differs from the strategy of the official Git command line client – until now.
The Git command line client uses the recursive merge strategy, which is a merge algorithm that can handle file renames / moves in a very robust way.
As EGit did not support this strategy, EGit couldn’t handle file renames / moves very well and behaved differently compared to the command line client.
So I always had to switch to the command line to perform merges.
Recently, there have been two commits to JGit, EGit’s Git implementation, that implement the recursive merge strategy and make it the default merge strategy for EGit:
- Bug 380314 – Recursive merge strategy feature
- Make recursive merge strategy the default merge strategy
It will probably be released with EGit release 2.4, which is planned for 2013-5-15.
So hopefully in two weeks there should be one less reason to switch to the command line when working with Git in Eclipse!
For more information on the different merge strategies in Git, see the official documentation.