X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-clean.sh;h=299309d97169e6d9a52a8175dd0b8f6d54c5b369;hb=d0f51a8b2ae25ad9a676d0214616241685e8f1d0;hp=3834323bcf479b7e01af4e1f247fb13aac423f90;hpb=5ff6a3269085c5cd425bad9f470d421a8d62f338;p=git.git diff --git a/git-clean.sh b/git-clean.sh index 3834323bc..299309d97 100755 --- a/git-clean.sh +++ b/git-clean.sh @@ -3,9 +3,10 @@ # Copyright (c) 2005-2006 Pavel Roskin # -USAGE="[-d] [-n] [-q] [-x | -X] [--] ..." +USAGE="[-d] [-f] [-n] [-q] [-x | -X] [--] ..." LONG_USAGE='Clean untracked files from the working directory -d remove directories as well + -f override clean.requireForce and clean anyway -n don'\''t remove anything, just show what would be done -q be quiet, only report errors -x remove ignored files as well @@ -14,11 +15,12 @@ When optional ... arguments are given, the paths affected are further limited to those that match them.' SUBDIRECTORY_OK=Yes . git-sh-setup +require_work_tree ignored= ignoredonly= cleandir= -quiet= +disabled="`git-config --bool clean.requireForce`" rmf="rm -f --" rmrf="rm -rf --" rm_refuse="echo Not removing" @@ -30,15 +32,18 @@ do -d) cleandir=1 ;; + -f) + disabled= + ;; -n) - quiet=1 + disabled= rmf="echo Would remove" rmrf="echo Would remove" rm_refuse="echo Would not remove" echo1=":" ;; -q) - quiet=1 + echo1=":" ;; -x) ignored=1 @@ -59,6 +64,11 @@ do shift done +if [ "$disabled" = true ]; then + echo "clean.requireForce set and -n or -f not given; refusing to clean" + exit 1 +fi + case "$ignored,$ignoredonly" in 1,1) usage;; esac