To illustrate the issue a bit better, with this patch applied on top of the en/merge-recursive topic, we get the same errors: Merging: 31734dd Renamed and modified virtual merge-branch-1 found 1 common ancestor(s): 13277ae Common commmit Skipped rename (merged same as existing) error: addinfo_cache failed for path 'rename' rename: unmerged (f00c965d8307308469e537302baa73048488f162) rename: unmerged (3bb459b831ea471b9cd1cbb7c6d54a74251a711b) rename: unmerged (f00c965d8307308469e537302baa73048488f162) fatal: git write-tree failed to write a tree In the test case, the merge machinery should notice that the result of the merge structurally place the merge result in the path "rename", and the content of the resulting blob matches what our side already have, so we should end up with a clean merge in the index (the index has the same blob as the HEAD at path "rename"), keeping the updated contents in the working tree. t/t6022-merge-rename.sh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/t/t6022-merge-rename.sh b/t/t6022-merge-rename.sh index 7d955c1..94b9c00 100755 --- a/t/t6022-merge-rename.sh +++ b/t/t6022-merge-rename.sh @@ -730,6 +730,7 @@ test_expect_success 'setup avoid unnecessary update, normal rename' ' test_expect_success 'avoid unnecessary update, normal rename' ' git checkout -q avoid-unnecessary-update-1^0 && + echo modified >>rename && test-chmtime =1000000000 rename && test-chmtime -v +0 rename >expect && git merge merge-branch-1 && -- 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