aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJens Lehmann <Jens.Lehmann@web.de>2010-07-10 00:18:38 +0200
committerJunio C Hamano <gitster@pobox.com>2010-07-12 15:13:54 -0700
commit108da0db1277fc2f4820d0a47c02b2c63111f7a5 (patch)
tree1684b8bab6530364e446aaa2a437d19521f04e34 /t
parent637ab29b86533c7ce65a615fd445d163a2c57dc9 (diff)
downloadgit-108da0db1277fc2f4820d0a47c02b2c63111f7a5.tar.gz
git-108da0db1277fc2f4820d0a47c02b2c63111f7a5.tar.xz
git add: Add the "--ignore-missing" option for the dry run
Sometimes it is useful to know if a file or directory will be ignored before it is added to the work tree. An example is "git submodule add", where it would be really nice to be able to fail with an appropriate error message before the submodule is cloned and checked out. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t3700-add.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
index 6f031af9f..47fbf5362 100755
--- a/t/t3700-add.sh
+++ b/t/t3700-add.sh
@@ -260,4 +260,29 @@ test_expect_success '"add non-existent" should fail' '
! (git ls-files | grep "non-existent")
'
+test_expect_success 'git add --dry-run of existing changed file' "
+ echo new >>track-this &&
+ git add --dry-run track-this >actual 2>&1 &&
+ echo \"add 'track-this'\" | test_cmp - actual
+"
+
+test_expect_success 'git add --dry-run of non-existing file' "
+ echo ignored-file >>.gitignore &&
+ ! (git add --dry-run track-this ignored-file >actual 2>&1) &&
+ echo \"fatal: pathspec 'ignored-file' did not match any files\" | test_cmp - actual
+"
+
+cat >expect <<EOF
+The following paths are ignored by one of your .gitignore files:
+ignored-file
+Use -f if you really want to add them.
+fatal: no files added
+add 'track-this'
+EOF
+
+test_expect_success 'git add --dry-run --ignore-missing of non-existing file' '
+ !(git add --dry-run --ignore-missing track-this ignored-file >actual 2>&1) &&
+ test_cmp expect actual
+'
+
test_done