git mv messed up file mapping if folders contain identical files
From: Bill Okara <hidden>
Date: 2016-06-15 23:08:26
Hi,
I noticed the following 'git mv' issue with:
git version 2.6.4
If there are identical files in different subfolders, 'git mv' the
root folder (and/or each file individually) will mess up the file path
mapping. that is, if having identical 'content.txt' file under
gitmvtest
|--demo/content.txt
|--dev/content.txt
|--prod/content.txt
after doing the "git mv gitmvtest/resources
gitmvtest/src/main/resources", the 'git status' will show:
renamed: gitmvtest/resources/demo/content.txt ->
gitmvtest/src/main/resources/demo/content.txt
renamed: gitmvtest/resources/prod/content.txt ->
gitmvtest/src/main/resources/dev/content.txt <== NOTE:
wrongly mapped the prod/content.txt to dev/content.txt
renamed: gitmvtest/resources/dev/content.txt ->
gitmvtest/src/main/resources/prod/content.txt <== NOTE:
wrongly mapped the dev/content.txt to prod/content.txt
I tried running 'git mv' on each file individually, got the same problem:git mv gitmvtest/resources/demo/content.txt gitmvtest/src/main/resources/demo/content.txt git mv gitmvtest/resources/dev/content.txt gitmvtest/src/main/resources/dev/content.txt git mv gitmvtest/resources/prod/content.txt gitmvtest/src/main/resources/prod/content.txt
git status
renamed: gitmvtest/resources/demo/content.txt -> gitmvtest/src/main/resources/demo/content.txt renamed: gitmvtest/resources/prod/content.txt -> gitmvtest/src/main/resources/dev/content.txt <== WRONG renamed: gitmvtest/resources/dev/content.txt -> gitmvtest/src/main/resources/prod/content.txt <== WRONG NOTE: ======= if modified the content.txt in the 3 folders to contain different data, then repeating the above 'git mv' will produce correct result, renamed: gitmvtest/resources/demo/content.txt -> gitmvtest/src/main/resources/demo/content.txt <== CORRECT renamed: gitmvtest/resources/dev/content.txt -> gitmvtest/src/main/resources/dev/content.txt <== CORRECT renamed: gitmvtest/resources/prod/content.txt -> gitmvtest/src/main/resources/prod/content.txt <== CORRECT just want to see if this is a bug, user error (on my end), or?? Thanks, Bill