summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/git-checkout.txt5
-rwxr-xr-xgit-checkout.sh23
2 files changed, 18 insertions, 10 deletions
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 4ea2b315d2..55c9289438 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -8,7 +8,7 @@ git-checkout - Checkout and switch to a branch
SYNOPSIS
--------
[verse]
-'git-checkout' [-f] [-b <new_branch> [-l]] [-m] [<branch>]
+'git-checkout' [-q] [-f] [-b <new_branch> [-l]] [-m] [<branch>]
'git-checkout' [<tree-ish>] <paths>...
DESCRIPTION
@@ -33,6 +33,9 @@ working tree.
OPTIONS
-------
+-q::
+ Quiet, supress feedback messages.
+
-f::
Force a re-read of everything.
diff --git a/git-checkout.sh b/git-checkout.sh
index 97c26adba9..99a81f509a 100755
--- a/git-checkout.sh
+++ b/git-checkout.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-USAGE='[-f] [-b <new_branch>] [-m] [<branch>] [<paths>...]'
+USAGE='[-q] [-f] [-b <new_branch>] [-m] [<branch>] [<paths>...]'
SUBDIRECTORY_OK=Sometimes
. git-sh-setup
require_work_tree
@@ -15,6 +15,7 @@ branch=
newbranch=
newbranch_log=
merge=
+quiet=
LF='
'
while [ "$#" != "0" ]; do
@@ -40,6 +41,9 @@ while [ "$#" != "0" ]; do
-m)
merge=1
;;
+ "-q")
+ quiet=1
+ ;;
--)
break
;;
@@ -153,7 +157,7 @@ detach_warn=
if test -z "$branch$newbranch" && test "$new" != "$old"
then
detached="$new"
- if test -n "$oldbranch"
+ if test -n "$oldbranch" && test -z "$quiet"
then
detach_warn="Note: moving to \"$new_name\" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
@@ -180,8 +184,11 @@ fi
if [ "X$old" = X ]
then
- echo >&2 "warning: You appear to be on a branch yet to be born."
- echo >&2 "warning: Forcing checkout of $new_name."
+ if test -z "$quiet"
+ then
+ echo >&2 "warning: You appear to be on a branch yet to be born."
+ echo >&2 "warning: Forcing checkout of $new_name."
+ fi
force=1
fi
@@ -226,7 +233,7 @@ else
exit 0
)
saved_err=$?
- if test "$saved_err" = 0
+ if test "$saved_err" = 0 && test -z "$quiet"
then
git diff-index --name-status "$new"
fi
@@ -251,11 +258,9 @@ if [ "$?" -eq 0 ]; then
if test -n "$branch"
then
GIT_DIR="$GIT_DIR" git-symbolic-ref HEAD "refs/heads/$branch"
- if test -n "$newbranch"
+ if test -z "$quiet"
then
- echo >&2 "Switched to a new branch \"$branch\""
- else
- echo >&2 "Switched to branch \"$branch\""
+ echo >&2 "Switched to${newbranch:+ a new} branch \"$branch\""
fi
elif test -n "$detached"
then