]> git.ipfire.org Git - thirdparty/git.git/blob - git-add.sh
Merge branches 'jc/apply', 'lt/ls-tree', 'lt/bisect' and 'lt/merge'
[thirdparty/git.git] / git-add.sh
1 #!/bin/sh
2
3 usage() {
4 die "usage: git add [-n] [-v] <file>..."
5 }
6
7 show_only=
8 verbose=
9 while : ; do
10 case "$1" in
11 -n)
12 show_only=true
13 ;;
14 -v)
15 verbose=--verbose
16 ;;
17 -*)
18 usage
19 ;;
20 *)
21 break
22 ;;
23 esac
24 shift
25 done
26
27 GIT_DIR=$(git-rev-parse --git-dir) || exit
28
29 if test -f "$GIT_DIR/info/exclude"
30 then
31 git-ls-files -z \
32 --exclude-from="$GIT_DIR/info/exclude" \
33 --others --exclude-per-directory=.gitignore -- "$@"
34 else
35 git-ls-files -z \
36 --others --exclude-per-directory=.gitignore -- "$@"
37 fi |
38 case "$show_only" in
39 true)
40 xargs -0 echo ;;
41 *)
42 git-update-index --add $verbose -z --stdin ;;
43 esac