A test for a merge when one of the trees has a file moved into a directory with the same name (not just file replaced by a directory). The problem noticed and reported by David Euresti Signed-off-by: Alex Riesen <raa.lkml@xxxxxxxxx> --- t/t6020-merge-df.sh | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) David Euresti, Tue, Sep 18, 2007 22:34:53 +0200: > If I try to merge in the changes from the other branch or if the other > branch tries to merge in these changes I get this error: > > dir/foo/foo.bin: unmerged (257cc5642cb1a054f08cc83f2d943e56fd3ebe99) > fatal: git-write-tree: error building trees > Merge with strategy recursive failed. I extended the d/f merge test with the case. Have no idea how to fix it yet though. diff --git a/t/t6020-merge-df.sh b/t/t6020-merge-df.sh index a19d49d..c081d3f 100755 --- a/t/t6020-merge-df.sh +++ b/t/t6020-merge-df.sh @@ -10,6 +10,7 @@ test_expect_success 'prepare repository' \ 'echo "Hello" > init && git add init && git commit -m "Initial commit" && +git branch init && git branch B && mkdir dir && echo "foo" > dir/foo && @@ -22,4 +23,20 @@ git commit -m "File: dir"' test_expect_code 1 'Merge with d/f conflicts' 'git merge "merge msg" B master' +test_expect_success 'file moved into a dir of same name' ' + git reset --hard && + git checkout -b d1 init && + mkdir dir && + mv init dir/init && + mv dir init && + git add . && + git commit -a -m"init moved into init/init" && + git checkout -b d2 init && + echo file >file && + git add file && + git commit -m"unrelated change" && + git checkout d1 && + git merge d2 +' + test_done -- 1.5.3.1.173.g9a67 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html