X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-clean.sh;h=3834323bcf479b7e01af4e1f247fb13aac423f90;hb=7612a1efdb0c0806b43db10ce784707aae874340;hp=b200868e605f27c22252de5bc14a62dfef60ea18;hpb=45fa7608bd1abd4dca12b0b90a852e7a71377381;p=git.git diff --git a/git-clean.sh b/git-clean.sh index b200868e..3834323b 100755 --- a/git-clean.sh +++ b/git-clean.sh @@ -3,13 +3,15 @@ # 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 @@ -17,8 +19,8 @@ ignored= ignoredonly= cleandir= quiet= -rmf="rm -f" -rmrf="rm -rf" +rmf="rm -f --" +rmrf="rm -rf --" rm_refuse="echo Not removing" echo1="echo" @@ -44,8 +46,15 @@ do -X) ignoredonly=1 ;; - *) + --) + shift + break + ;; + -*) usage + ;; + *) + break esac shift done @@ -64,7 +73,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