Some callers might want to know whether or not the worktree is clean, and require_clean_work_tree() has the logic for this. The current implementation of the function prints a message and exits if the worktree wasn't clean. Introduce a --quiet switch to get it to report the status of the worktree back to the caller. Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- git-sh-setup.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 2f78359..5fa22a8 100644 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -172,6 +172,7 @@ require_clean_work_tree () { if ! git diff-files --quiet --ignore-submodules then + test "$1" = "--quiet" || echo >&2 "Cannot $1: You have unstaged changes." err=1 fi @@ -180,9 +181,11 @@ require_clean_work_tree () { then if [ $err = 0 ] then - echo >&2 "Cannot $1: Your index contains uncommitted changes." + test "$1" = "--quiet" || + echo >&2 "Cannot $1: Your index contains uncommitted changes." else - echo >&2 "Additionally, your index contains uncommitted changes." + test "$1" = "--quiet" || + echo >&2 "Additionally, your index contains uncommitted changes." fi err=1 fi @@ -190,8 +193,9 @@ require_clean_work_tree () { if [ $err = 1 ] then test -n "$2" && echo >&2 "$2" - exit 1 + test "$1" = "--quiet" || exit 1 fi + return $err } # Generate a sed script to parse identities from a commit. -- 1.8.2.1.578.ga933817 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html