Signed-off-by: Johannes Sixt <johannes.sixt@xxxxxxxxxx> --- git add seems to have a bug, where it doesn't remove stages 1,2,3 if a stage 0 entry is already in the index. Here is a test (on top of maint) for the kind soul who wants to fix this border case. Feel free to merge this patch into your patch that provides the fix. -- Hannes t/t3700-add.sh | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/t/t3700-add.sh b/t/t3700-add.sh index ad8cc7d..d7dd6ca 100755 --- a/t/t3700-add.sh +++ b/t/t3700-add.sh @@ -110,4 +110,16 @@ test_expect_success 'check correct prefix detection' ' git add 1/2/a 1/3/b 1/2/c ' +test_expect_success 'git add removes unmerged entries' ' + git rm --cached -f file && + for s in 0 1 2 3 + do + echo "100644 0123456789012345678901234567890123456789 $s file" + done | git update-index --index-info && + echo new > file && + git add file && + git ls-files --stage | grep "^100644 .* 0 file$" && + ! git ls-files --stage | grep "^100644 .* [^0] file$" +' + test_done -- 1.5.2.2.555.g24e57 - 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