Sean
2006-01-11 06:51:11 UTC
Hi folks,
After a failed regular merge you can fix up the conflicts by hand and then
do a commit; the proper parents for the merge will be picked up from
MERGE_HEADS. However, after a failed octopus merge this file doesn't
exist even though conflict markers _do_ exist in the appropriate files. A
little test case is given below:
mkdir otest
cd otest
git init-db
echo A > file
git add file
git commit -m "new file"
git checkout -b linus
echo B > file
git commit -a -m "B file"
git checkout -b torvalds master
echo C > file
git commit -a -m "C file"
git checkout master
git pull . linus torvalds
At which point you'll get back:
defaulting to local storage area
Committing initial tree a9e3325a07117aa5381e044a8d96c26eb30d729d
Trying simple merge with 87915efc19fb0a71f88c1da6f7da0e4454f32a68
Trying simple merge with ec835c64be51803fb46f82c97b266cc60a0b04b7
Simple merge did not work, trying automatic merge.
Auto-merging file
merge: warning: conflicts during merge
ERROR: Merge conflict in file
fatal: merge program failed
No merge strategy handled the merge.
The "file" will contain:
<<<<<<< .merge_file_e7oHn1
C
=======
B
and won't add the proper parent linkages. I'm not sure at this point
what the proper fix should be or if this is just pilot error.
Thanks,
Sean
After a failed regular merge you can fix up the conflicts by hand and then
do a commit; the proper parents for the merge will be picked up from
MERGE_HEADS. However, after a failed octopus merge this file doesn't
exist even though conflict markers _do_ exist in the appropriate files. A
little test case is given below:
mkdir otest
cd otest
git init-db
echo A > file
git add file
git commit -m "new file"
git checkout -b linus
echo B > file
git commit -a -m "B file"
git checkout -b torvalds master
echo C > file
git commit -a -m "C file"
git checkout master
git pull . linus torvalds
At which point you'll get back:
defaulting to local storage area
Committing initial tree a9e3325a07117aa5381e044a8d96c26eb30d729d
Trying simple merge with 87915efc19fb0a71f88c1da6f7da0e4454f32a68
Trying simple merge with ec835c64be51803fb46f82c97b266cc60a0b04b7
Simple merge did not work, trying automatic merge.
Auto-merging file
merge: warning: conflicts during merge
ERROR: Merge conflict in file
fatal: merge program failed
No merge strategy handled the merge.
The "file" will contain:
<<<<<<< .merge_file_e7oHn1
C
=======
B
.merge_file_6Z4LD0
After fixing this up though, git-commit won't see this as a merge commitand won't add the proper parent linkages. I'm not sure at this point
what the proper fix should be or if this is just pilot error.
Thanks,
Sean