git add: Add the "--ignore-missing" option for the dry run
[git/git.git] / t / t3700-add.sh
index 6f031af..47fbf53 100755 (executable)
@@ -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