Manual page for "git-add -u" says: Update only files that git already knows about. This is similar to what "git commit -a" does in preparation for making a commit, except that the update is limited to paths specified on the command line. If no paths are specified, all tracked files are updated. The key sentence being: "If no paths are specified, all tracked files are updated." If one modifies a file in subdir1, then goes to subdir2 and performs "git add -u" the modified file in subdir1 is not added to the index. This test case demonstrates the problem. Signed-off-by: Pekka Kaitaniemi <kaitanie@xxxxxxxxxxxxxx> --- I found a possible problem in "git add -u" command without any paths. Modified files located in a different subdirectory are not added to the index even though the documentation says that in this case all tracked files should be. Maybe this is caused by a bug in "git add"? Or is the problem in the documentation? In any case, this patch contains a test case that demonstrates the problem. t/t2200-add-update.sh | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/t/t2200-add-update.sh b/t/t2200-add-update.sh index 24f892f..5815ec5 100755 --- a/t/t2200-add-update.sh +++ b/t/t2200-add-update.sh @@ -80,6 +80,22 @@ test_expect_success 'change gets noticed' ' ' +test_expect_success 'update from a different subdirectory' ' + ( + cd dir1 && + echo addmore >sub2 && + cd ../dir2 && + git add -u + ) + +' + +test_expect_success 'change gets noticed' ' + + test "$(git diff-files --name-status dir1)" = "" + +' + test_expect_success 'replace a file with a symlink' ' rm foo && -- 1.5.4.2 - 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