1
0
mirror of https://github.com/git/git.git synced 2024-09-20 10:34:28 +02:00
git/git-add.sh
Junio C Hamano caf4f582b2 Improve "git add" again.
This makes it possible to add paths that have funny characters (TAB
and LF) in them, and makes adding many paths more efficient in
general.

New flag "--stdin" to update-index was initially added for different
purpose, but it turns out to be a perfect match for feeding "ls-files
--others -z" output to improve "git add".

It also adds "--verbose" flag to update-index for use with "git add"
command.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-17 17:41:55 -07:00

37 lines
531 B
Bash
Executable File

#!/bin/sh
show_only=
verbose=
while : ; do
case "$1" in
-n)
show_only=true
;;
-v)
verbose=--verbose
;;
*)
break
;;
esac
shift
done
GIT_DIR=$(git-rev-parse --git-dir) || exit
if test -f "$GIT_DIR/info/exclude"
then
git-ls-files -z \
--exclude-from="$GIT_DIR/info/exclude" \
--others --exclude-per-directory=.gitignore "$@"
else
git-ls-files -z \
--others --exclude-per-directory=.gitignore "$@"
fi |
case "$show_only" in
true)
xargs -0 echo ;;
*)
git-update-index --add $verbose -z --stdin ;;
esac