The new merge is totally unusable in real life.
I get
Need real merge but the working tree has local changes.
which is totally bogus. Sure, my working tree has local changes, but they
have absolutely nothing to do with the stuff I merge. I almost _always_
keep local changes in my tree, and I worked hard to make sure that merging
works well even despite that, and does the right thing.
Local changes are a problem ONLY IF THOSE LOCAL CHANGES INTERFERE WITH THE
MERGE.
If the new merge policies do not allow that, then the new merge policies
are incredibly broken. The old one did exactly the right thing for this
case, and "git-read-tree -m" did
Entry '%s' would be overwritten by merge. Cannot merge.
only if a file that actually needed merging was different.
Linus