2005-09-08 02:26:23 +02:00
|
|
|
#!/bin/sh
|
2005-09-18 20:27:45 +02:00
|
|
|
|
2005-11-28 08:33:54 +01:00
|
|
|
die () {
|
|
|
|
echo >&2 "$*"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2005-10-29 23:46:41 +02:00
|
|
|
usage() {
|
|
|
|
die "usage: git add [-n] [-v] <file>..."
|
|
|
|
}
|
|
|
|
|
2005-09-18 20:27:45 +02:00
|
|
|
show_only=
|
|
|
|
verbose=
|
|
|
|
while : ; do
|
|
|
|
case "$1" in
|
|
|
|
-n)
|
|
|
|
show_only=true
|
|
|
|
;;
|
|
|
|
-v)
|
2005-10-15 06:56:46 +02:00
|
|
|
verbose=--verbose
|
2005-09-18 20:27:45 +02:00
|
|
|
;;
|
2005-10-29 23:46:41 +02:00
|
|
|
-*)
|
|
|
|
usage
|
|
|
|
;;
|
2005-09-18 20:27:45 +02:00
|
|
|
*)
|
|
|
|
break
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
GIT_DIR=$(git-rev-parse --git-dir) || exit
|
2005-10-15 06:56:46 +02:00
|
|
|
|
|
|
|
if test -f "$GIT_DIR/info/exclude"
|
|
|
|
then
|
|
|
|
git-ls-files -z \
|
|
|
|
--exclude-from="$GIT_DIR/info/exclude" \
|
2005-10-18 09:27:50 +02:00
|
|
|
--others --exclude-per-directory=.gitignore -- "$@"
|
2005-10-15 06:56:46 +02:00
|
|
|
else
|
|
|
|
git-ls-files -z \
|
2005-10-18 09:27:50 +02:00
|
|
|
--others --exclude-per-directory=.gitignore -- "$@"
|
2005-10-15 06:56:46 +02:00
|
|
|
fi |
|
|
|
|
case "$show_only" in
|
|
|
|
true)
|
|
|
|
xargs -0 echo ;;
|
|
|
|
*)
|
|
|
|
git-update-index --add $verbose -z --stdin ;;
|
|
|
|
esac
|