Subject: [BUG] ProgramError: merge ... .merge_file_4CPoEQ: No such file

From: Jon Loeliger <[email-masked]>
Date: Tue, 06 Dec 2005 08:03:38 -0600

So, I was surprised by this display this morning.
(I swear I'm trying to help! :-)

I grabbed new (7:30 CST Dec 6) top-of-git, built and installed it.
I then "git checkout jdl" and "git pull . origin" to bring my
branch up to date.  It looked like this just before the pull
into branch "jdl":

jdl@ubuntu:/usr/src/git-core$ git show-branch jdl master origin
* [jdl] Added documentation for few missing options.
 ! [master] git-merge-one-file: resurrect leading path creation.
  ! [origin] git-merge-one-file: resurrect leading path creation.
---
 ++ [master] git-merge-one-file: resurrect leading path creation.
 ++ [master^] Documentaiton (read-tree): update description of 3-way
 ++ [master~2] Documentation: hash-object.
 ++ [master~3] write-tree: check extra arguments and die but be a bit more helpful.
 ++ [master~4] init-db: check extra arguments and complain.
 ++ [master~5] hash-object: -- and --help
 ++ [master~6] Added documentation for few missing options.
+   [jdl] Added documentation for few missing options.
+   [jdl^] Merge branch 'origin'
+++ [master~7] git-mv to work with Perl 5.6

jdl@ubuntu:/usr/src/git-core$ git status
# On branch refs/heads/jdl
nothing to commit

jdl@ubuntu:/usr/src/git-core$ git pull . origin
Trying really trivial in-index merge...
fatal: Merge requires file-level merging
Nope.
Merging HEAD with be61db922a230ae2638c27c071ee4b8c98f01f72
Merging:
4baf91676c2462796137e93917c75f2e14ebb877 Added documentation for few missing options.
be61db922a230ae2638c27c071ee4b8c98f01f72 git-merge-one-file: resurrect leading path creation.
found 1 common ancestor(s):
23c99d84601316c1e51ebc1f0b9bec5cddd011fb git-mv to work with Perl 5.6
Auto-merging Documentation/git-read-tree.txt
Traceback (most recent call last):
  File "/home/jdl/bin/git-merge-recursive", line 868, in ?
    firstBranch, secondBranch, graph)
  File "/home/jdl/bin/git-merge-recursive", line 87, in merge
    branch1Name, branch2Name)
  File "/home/jdl/bin/git-merge-recursive", line 160, in mergeTrees
    if not processEntry(entry, branch1Name, branch2Name):
  File "/home/jdl/bin/git-merge-recursive", line 821, in processEntry
    branch1Name, branch2Name)
  File "/home/jdl/bin/git-merge-recursive", line 212, in mergeFile
    src1, orig, src2], returnCode=True)
  File "/home/jdl/share/git-core/python/gitMergeCommon.py", line 72, in runProgram
    raise ProgramError(progStr, e.strerror)
ProgramError: merge -L HEAD/Documentation/git-read-tree.txt -L orig/Documentation/git-read-tree.txt -L be61db922a230ae2638c27c071ee4b8c98f01f72/Documentation/git-read-tree.txt .merge_file_DamWnQ .merge_file_U9K5YP .merge_file_4CPoEQ: No such file or directory
No merge strategy handled the merge.

jdl@ubuntu:/usr/src/git-core$ ll Documentation/git-read-tree.txt .merge*
12 -rw-r--r--  1 jdl jdl 10464 2005-12-06 07:46 Documentation/git-read-tree.txt
12 -rw-------  1 jdl jdl 11469 2005-12-06 07:47 .merge_file_4CPoEQ
12 -rw-------  1 jdl jdl 10464 2005-12-06 07:47 .merge_file_DamWnQ
12 -rw-------  1 jdl jdl 10339 2005-12-06 07:47 .merge_file_U9K5YP

jdl@ubuntu:/usr/src/git-core$ git status
# On branch refs/heads/jdl
#
# Updated but not checked in:
#   (will commit)
#
#       modified: Documentation/git-hash-object.txt
#       modified: git-merge-one-file.sh
#       modified: hash-object.c
#       modified: init-db.c
#       modified: write-tree.c
#
#
# Changed but not updated:
#   (use git-update-index to mark for commit)
#
#       unmerged: Documentation/git-read-tree.txt
#       modified: Documentation/git-read-tree.txt
#
#
# Untracked files:
#   (use "git add" to add to commit)
#
#       .merge_file_4CPoEQ
#       .merge_file_DamWnQ
#       .merge_file_U9K5YP