add a quiet option to git-checkout Those new messages are certainly nice, but there might be cases where they are simply unwelcome, like when git-commit is used within scripts. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index 4ea2b31..55c9289 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt
@@ -8,7 +8,7 @@ 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 @@ OPTIONS ------- +-q:: + Quiet, supress feedback messages. + -f:: Force a re-read of everything.
diff --git a/git-checkout.sh b/git-checkout.sh index 97c26ad..99a81f5 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 @@ newbranch= newbranch_log= merge= +quiet= LF=' ' while [ "$#" != "0" ]; do @@ -40,6 +41,9 @@ -m) merge=1 ;; + "-q") + quiet=1 + ;; --) break ;; @@ -153,7 +157,7 @@ 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 @@ 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 @@ 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 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