> -----Original Message----- > From: Phil Hord [mailto:phil.hord@xxxxxxxxx] > Sent: Friday, June 27, 2014 17:46 > To: Jason Pyeron > Cc: git > Subject: Re: Trouble merging renamed but identical files - > CONFLICT (rename/rename) > > On Fri, Jun 27, 2014 at 4:47 PM, Jason Pyeron > <jpyeron@xxxxxxxx> wrote: > > There are two identical files from the same original > parent, but both were > > renamed in their own branches. One branch moved the file to > a new folder, the > > other renamed the file in the same folder. > > You have not stated what you think the issue is. You have only stated > the setup. Thanks, I could have said it better. I think that git should understand that I have moved a file in path only (the tree object containing the file's entry change, but not the entry it self) and that the branch from which I want to merge back (with common ancestry) has renamed the file in the same path ( the tree object is unchanged, but the entry is) such that the object is re-parented and renamed in that path. How can this be done in git or if it cannot what are the chalenges to patching git for this issue. git cat-file -p b60070f4d0879e277f44d174a163bbb292325fea # tree d8df83fc6714aab1fc1df061fcb03410e1dab1e5 git cat-file -p d8df83fc6714aab1fc1df061fcb03410e1dab1e5 # 040000 tree 68bb8a223284e0f5057421217a5965128bf1d51a src git cat-file -p 68bb8a223284e0f5057421217a5965128bf1d51a # 100644 blob 25c7d3b12bced67046359ba1e7945f82a2640147 TrueCrypt.sln git cat-file -p a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68 # tree 7f82a6c46f19931c3c40d44dc196cbfab7feaa72 git cat-file -p 7f82a6c46f19931c3c40d44dc196cbfab7feaa72 # 100644 blob 25c7d3b12bced67046359ba1e7945f82a2640147 CipherShed.sln > > > I suppose you want Git to merge without conflict in the end, though, > based on your script. Is that right? > > > > Steps to reproduce the issue: > > git init > > git fetch https://github.com/pdinc-oss/CipherShed.git > > git fetch https://github.com/srguglielmo/CipherShed.git > > git checkout -b test b60070f4d0879e277f44d174a163bbb292325fea > > git merge a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68 > > > > CONFLICT (rename/rename): Rename > "TrueCrypt.sln"->"src/TrueCrypt.sln" in branch > > "HEAD" rename "TrueCrypt.sln"->"CipherShed.sln" in > > "a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68" > > Git seems to be doing the correct thing here. > > > > git reset --hard b60070f4d0879e277f44d174a163bbb292325fea > > git mv src/TrueCrypt.sln src/CipherShed.sln > > git commit -m 'renamed to be congruent with a0c84ff' > > git merge a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68 > > > > Sill get a CONFLICT (rename/rename): Rename > > "TrueCrypt.sln"->"src/CipherShed.sln" in branch "HEAD" rename > > "TrueCrypt.sln"->"CipherShed.sln" in > "a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68" > > Git seems to be doing the correct thing here, too. > > > I will have many more to come, any suggestions? > > Maybe you meant to move the renamed file to the same folder where it > exists in the merge target. I do not get a conflict when I do that. Are you saying I should git mv src/TrueCrypt.sln CipherShed.sln ? Then it will be in the wrong path as intended. > > git reset --hard b60070f4d0879e277f44d174a163bbb292325fea > git mv src/TrueCrypt.sln CipherShed.sln > git commit -m 'renamed to be congruent with a0c84ff' > git merge a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68 > > No conflict (on that file, anyway). Agreed, but not the desired end state. -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - - - Jason Pyeron PD Inc. http://www.pdinc.us - - Principal Consultant 10 West 24th Street #100 - - +1 (443) 269-1555 x333 Baltimore, Maryland 21218 - - - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- This message is copyright PD Inc, subject to license 20080407P00. -- 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