diff options
author | Junio C Hamano <junkio@cox.net> | 2006-05-08 12:02:44 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-08 16:40:45 -0700 |
commit | 393e3b1910221da5a78f7f79a45507b5fde59b77 (patch) | |
tree | 63e99ce7c9d73c1792bea0502601004167cef7e4 /git-clean.sh | |
parent | 45f75a0167b4a4693f2c6005bf7db231ca91ecc8 (diff) | |
download | git-393e3b1910221da5a78f7f79a45507b5fde59b77.tar.gz git-393e3b1910221da5a78f7f79a45507b5fde59b77.tar.xz |
Teach git-clean optional <paths>... parameters.
When optional paths arguments are given, git-clean passes them
to underlying git-ls-files; with this, you can say:
git clean 'temp-*'
to clean only the garbage files whose names begin with 'temp-'.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Diffstat (limited to 'git-clean.sh')
-rwxr-xr-x | git-clean.sh | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/git-clean.sh b/git-clean.sh index b200868e6..bb56264e0 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] [--] <paths>..." 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 <paths>... arguments are given, the paths +affected are further limited to those that match them.' SUBDIRECTORY_OK=Yes . git-sh-setup @@ -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 |