From: Linus Torvalds Date: Tue, 21 Jun 2005 16:59:26 +0000 (-0700) Subject: "git checkout": add "-u" flag to update HEAD conditionally X-Git-Tag: v0.99~221 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a79944d76cf4098e42d13e5743a3dccb61ebaca6;p=git.git "git checkout": add "-u" flag to update HEAD conditionally And fix braino on testing "-f". --- diff --git a/git-checkout-script b/git-checkout-script index e8e777f1f..dc1cffde0 100755 --- a/git-checkout-script +++ b/git-checkout-script @@ -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" +