"git checkout": add "-u" flag to update HEAD conditionally

And fix braino on testing "-f".
This commit is contained in:
Linus Torvalds 2005-06-21 09:59:26 -07:00
parent 303e5f4c32
commit a79944d76c

View file

@ -6,11 +6,14 @@ new=${new:-$old}
args=($(git-rev-parse --no-revs "$@"))
i=0
force=0
force=
update=
while [ $i -lt ${#args} ]; do
case "${args[$i]}" in
"-f")
force=1;;
"-u")
update=1;;
"")
;;
*)
@ -20,11 +23,11 @@ while [ $i -lt ${#args} ]; do
i=$(($i+1))
done
if $force
if [ "$force" ]
then
git-read-tree --reset $new &&
git-checkout-cache -q -f -u -a &&
echo $new > "$GIT_DIR/HEAD"
git-checkout-cache -q -f -u -a
else
git-read-tree -m -u $old $new && echo $new > "$GIT_DIR/HEAD"
fi
git-read-tree -m -u $old $new
fi && [ "$update" ] && echo $new > "$GIT_DIR/HEAD"