X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=git-clean.sh;h=db177a7886b6407b4c4ad7b778a1ae99471355ac;hb=885b98107547fe3f6d17ca0af0578e040f7600d0;hp=b200868e605f27c22252de5bc14a62dfef60ea18;hpb=c3b831bd84320374834f9984c118cb4fc7050ebc;p=git.git diff --git a/git-clean.sh b/git-clean.sh index b200868e6..db177a788 100755 --- a/git-clean.sh +++ b/git-clean.sh @@ -3,22 +3,24 @@ # Copyright (c) 2005-2006 Pavel Roskin # -USAGE="[-d] [-n] [-q] [-x | -X]" +USAGE="[-d] [-n] [-q] [-x | -X] [--] ..." LONG_USAGE='Clean untracked files from the working directory -d remove directories as well -n don'\''t remove anything, just show what would be done -q be quiet, only report errors -x remove ignored files as well - -X remove only ignored files as well' + -X remove only ignored files +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= -rmf="rm -f" -rmrf="rm -rf" +rmf="rm -f --" +rmrf="rm -rf --" rm_refuse="echo Not removing" echo1="echo" @@ -29,14 +31,13 @@ do cleandir=1 ;; -n) - quiet=1 rmf="echo Would remove" rmrf="echo Would remove" rm_refuse="echo Would not remove" echo1=":" ;; -q) - quiet=1 + echo1=":" ;; -x) ignored=1 @@ -44,8 +45,15 @@ do -X) ignoredonly=1 ;; - *) + --) + shift + break + ;; + -*) usage + ;; + *) + break esac shift done @@ -64,7 +72,7 @@ if [ -z "$ignored" ]; then fi fi -git-ls-files --others --directory $excl ${excl_info:+"$excl_info"} | +git-ls-files --others --directory $excl ${excl_info:+"$excl_info"} -- "$@" | while read -r file; do if [ -d "$file" -a ! -L "$file" ]; then if [ -z "$cleandir" ]; then