From f192c5d0fb37a1a89d88e92bb7b21418b57c2129 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Mon, 12 Nov 2007 09:27:35 +0100 Subject: [PATCH] git-clean: Fix error message if clean.requireForce is not set. It was distracting to see this error message: clean.requireForce set and -n or -f not given; refusing to clean even though clean.requireForce was not set at all. This patch distinguishes the cases and gives a different message depending on whether the configuration variable is not set or set to true. While we are here, we also divert the error messages to stderr. Signed-off-by: Johannes Sixt Signed-off-by: Junio C Hamano --- git-clean.sh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/git-clean.sh b/git-clean.sh index f4965b839..521fabc20 100755 --- a/git-clean.sh +++ b/git-clean.sh @@ -25,10 +25,7 @@ rmrf="rm -rf --" rm_refuse="echo Not removing" echo1="echo" -# requireForce used to default to false but now it defaults to true. -# IOW, lack of explicit "clean.requireForce = false" is taken as -# "clean.requireForce = true". -disabled=$(git config --bool clean.requireForce || echo true) +disabled=$(git config --bool clean.requireForce) while test $# != 0 do @@ -37,10 +34,10 @@ do cleandir=1 ;; -f) - disabled= + disabled=false ;; -n) - disabled= + disabled=false rmf="echo Would remove" rmrf="echo Would remove" rm_refuse="echo Would not remove" @@ -68,10 +65,17 @@ do shift done -if [ "$disabled" = true ]; then - echo "clean.requireForce set and -n or -f not given; refusing to clean" - exit 1 -fi +# requireForce used to default to false but now it defaults to true. +# IOW, lack of explicit "clean.requireForce = false" is taken as +# "clean.requireForce = true". +case "$disabled" in +"") + die "clean.requireForce not set and -n or -f not given; refusing to clean" + ;; +"true") + die "clean.requireForce set and -n or -f not given; refusing to clean" + ;; +esac case "$ignored,$ignoredonly" in 1,1) usage;; -- 2.30.2