From: Johannes Sixt Date: Mon, 12 Nov 2007 08:27:35 +0000 (+0100) Subject: git-clean: Fix error message if clean.requireForce is not set. X-Git-Tag: v1.5.4-rc0~222 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f192c5d0fb37a1a89d88e92bb7b21418b57c2129;p=git.git 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 --- 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;;