Problem with merge when renaming
- From
- David Euresti <evelio@gmail.com>
- Date
- Sep 18, 2007, 20:34 UTC
- Message-ID
- <95b3d0af0709181334y1e21507ey485860e4d45aa26f@mail.gmail.com>
Hi,
I think I found a problem when you move a file into a directory of the same name. Here's what I did.
In a repository I created a directory with a file in it. Commit it. Then I move the file into a tmp name, make a directory with that name, and move it into the directory. git-mv dir/foo dir/foo.bin mkdir dir/foo git-mv dir/foo.bin dir/foo/foo.bin
Then in another branch I make a completely unrelated change. I create a file in another directory.
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.
This is the script I've been using #!/bin/bash #
# Make sure it's all clean rm -rf git-repo
mkdir git-repo pushd git-repo git-init mkdir dir git-add dir pushd dir echo foo > foo git-add foo popd git-commit -a -m "one" popd
# Developer A moves file into dir of same name pushd git-repo git-checkout -b branch-a git-mv dir/foo dir/foo.bin mkdir dir/foo git-mv dir/foo.bin dir/foo/foo.bin git-commit -a -m "File renamed" git-checkout master popd
# Developer B makes completely unrelated changes. pushd git-repo git-checkout -b branch-b echo baz > foo.txt echo bar > bar.txt git-add bar.txt git-add foo.txt git-commit -a -m "unrelated changes" git-checkout master popd
# Developer A wants to merge changes from B pushd git-repo #git-merge branch-a echo #git-merge branch-b #popd