]> git.ipfire.org Git - thirdparty/git.git/blob - git-add.sh
Convert update-ref to use ref_lock API.
[thirdparty/git.git] / git-add.sh
1 #!/bin/sh
2
3 USAGE='[-n] [-v] <file>...'
4 SUBDIRECTORY_OK='Yes'
5 . git-sh-setup
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 shift
19 break
20 ;;
21 -*)
22 usage
23 ;;
24 *)
25 break
26 ;;
27 esac
28 shift
29 done
30
31 # Check misspelled pathspec
32 case "$#" in
33 0) ;;
34 *)
35 git-ls-files --error-unmatch --others --cached -- "$@" >/dev/null || {
36 echo >&2 "Maybe you misspelled it?"
37 exit 1
38 }
39 ;;
40 esac
41
42 if test -f "$GIT_DIR/info/exclude"
43 then
44 git-ls-files -z \
45 --exclude-from="$GIT_DIR/info/exclude" \
46 --others --exclude-per-directory=.gitignore -- "$@"
47 else
48 git-ls-files -z \
49 --others --exclude-per-directory=.gitignore -- "$@"
50 fi |
51 case "$show_only" in
52 true)
53 xargs -0 echo ;;
54 *)
55 git-update-index --add $verbose -z --stdin ;;
56 esac