aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2006-02-21 15:33:49 -0800
committerJunio C Hamano <junkio@cox.net>2006-02-21 17:33:43 -0800
commit60ace8790f3cfba4fdc16e71e23c4f9c44ce9b44 (patch)
tree2a482e0dd128e37b5639d6b0a9ce63f0eec7ed8d
parent39ba7d54649b35c943b026b54bff40cfa0153f3e (diff)
downloadgit-60ace8790f3cfba4fdc16e71e23c4f9c44ce9b44.tar.gz
git-60ace8790f3cfba4fdc16e71e23c4f9c44ce9b44.tar.xz
git-add: Add support for --, documentation, and test.
This adds support to git-add to allow the common -- to separate command-line options and file names. It adds documentation and a new git-add test case as well. [jc: this should apply to 1.2.X maintenance series, so I reworked git-ls-files --error-unmatch test. ] Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/git-add.txt7
-rwxr-xr-xgit-add.sh4
-rwxr-xr-xt/t3700-add.sh22
3 files changed, 32 insertions, 1 deletions
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 89e461402..7e293834d 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -7,7 +7,7 @@ git-add - Add files to the index file.
SYNOPSIS
--------
-'git-add' [-n] [-v] <file>...
+'git-add' [-n] [-v] [--] <file>...
DESCRIPTION
-----------
@@ -26,6 +26,11 @@ OPTIONS
-v::
Be verbose.
+--::
+ This option can be used to separate command-line options from
+ the list of files, (useful when filenames might be mistaken
+ for command-line options).
+
DISCUSSION
----------
diff --git a/git-add.sh b/git-add.sh
index f719b4b1a..611f152da 100755
--- a/git-add.sh
+++ b/git-add.sh
@@ -14,6 +14,10 @@ while : ; do
-v)
verbose=--verbose
;;
+ --)
+ shift
+ break
+ ;;
-*)
usage
;;
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
new file mode 100755
index 000000000..6cd05c3d9
--- /dev/null
+++ b/t/t3700-add.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# Copyright (c) 2006 Carl D. Worth
+#
+
+test_description='Test of git-add, including the -- option.'
+
+. ./test-lib.sh
+
+test_expect_success \
+ 'Test of git-add' \
+ 'touch foo && git-add foo'
+
+test_expect_success \
+ 'Post-check that foo is in the index' \
+ 'git-ls-files foo | grep foo'
+
+test_expect_success \
+ 'Test that "git-add -- -q" works' \
+ 'touch -- -q && git-add -- -q'
+
+test_done