This is really weird, so I started to try and get some diagnostics.
It doesn't fail on my sparc64 box running debian-testing but it does fail on my Ubuntu x86 laptop, a sparc64 box running debian-unstable, and an Ubuntu sparc64 system as well.
This is with the current GIT tree.
I ran the test one step at a time to try and get some diagnostics, here's what fails:
davem@nuts:~/src/GIT/test$ git merge "pre E3 merge" B A
Trying really trivial in-index merge...
fatal: Merge requires file-level merging
Nope.
Merging B with A
Merging:
1f14398f4c69d09ab1a4d53fe096ddec3ea45207 C3
d1072ae2682fad309c493343c5d77c9897fb6afa B8
found 1 common ancestor(s):
926159b75e3d9b240b1eae36eb1977b095ff2e1a Initial commit
Auto-merging file
Traceback (most recent call last):
File "/home/davem/bin/git-merge-recursive", line 868, in ?
firstBranch, secondBranch, graph)
File "/home/davem/bin/git-merge-recursive", line 87, in merge
branch1Name, branch2Name)
File "/home/davem/bin/git-merge-recursive", line 160, in mergeTrees
if not processEntry(entry, branch1Name, branch2Name):
File "/home/davem/bin/git-merge-recursive", line 821, in processEntry
branch1Name, branch2Name)
File "/home/davem/bin/git-merge-recursive", line 212, in mergeFile
src1, orig, src2], returnCode=True)
File "/home/davem/share/git-core/python/gitMergeCommon.py", line 72, in runProgram
raise ProgramError(progStr, e.strerror)
ProgramError: merge -L B/file -L orig/file -L A/file .merge_file_kDtaE3 .merge_file_K30Hgp .merge_file_frqYIs: No such file or directory
No merge strategy handled the merge.
davem@nuts:~/src/GIT/test$ lsIt looks like maybe some quoting issue? The call failing above is the one in git-merge-recursive which looks like this:
[dummy, clean] = merge(graph.shaMap[h1], graph.shaMap[h2],
firstBranch, secondBranch, graph)Any ideas?