diff --git a/git-add.sh b/git-add.sh
index a8498c729ab3188bd21dd6a54ddc77d4c34ac48a..13fad820d4758a041222a9285719245f6c8bac18 100755 (executable)
--- a/git-add.sh
+++ b/git-add.sh
#!/bin/sh
#!/bin/sh
+USAGE='[-n] [-v] <file>...'
+SUBDIRECTORY_OK='Yes'
+. git-sh-setup
+
show_only=
verbose=
while : ; do
show_only=
verbose=
while : ; do
-v)
verbose=--verbose
;;
-v)
verbose=--verbose
;;
+ -*)
+ usage
+ ;;
*)
break
;;
*)
break
;;
shift
done
shift
done
-GIT_DIR=$(git-rev-parse --git-dir) || exit
+# Check misspelled pathspec
+case "$#" in
+0) ;;
+*)
+ git-ls-files --error-unmatch --others --cached -- "$@" >/dev/null || {
+ echo >&2 "Maybe you misspelled it?"
+ exit 1
+ }
+ ;;
+esac
if test -f "$GIT_DIR/info/exclude"
then
git-ls-files -z \
--exclude-from="$GIT_DIR/info/exclude" \
if test -f "$GIT_DIR/info/exclude"
then
git-ls-files -z \
--exclude-from="$GIT_DIR/info/exclude" \
- --others --exclude-per-directory=.gitignore "$@"
+ --others --exclude-per-directory=.gitignore -- "$@"
else
git-ls-files -z \
else
git-ls-files -z \
- --others --exclude-per-directory=.gitignore "$@"
+ --others --exclude-per-directory=.gitignore -- "$@"
fi |
case "$show_only" in
true)
fi |
case "$show_only" in
true)