diff options
author | Junio C Hamano <junkio@cox.net> | 2006-05-09 16:52:54 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-09 16:52:54 -0700 |
commit | 8c2462dc5bd1aeb42eb5e07e82f9d062db43cd21 (patch) | |
tree | 89377f3185b4f237248af0e163329441ee2d11c5 | |
parent | Merge branch 'mw/alternates' (diff) | |
parent | Teach git-clean optional <paths>... parameters. (diff) | |
download | tgif-8c2462dc5bd1aeb42eb5e07e82f9d062db43cd21.tar.xz |
Merge branch 'jc/clean'
* jc/clean:
Teach git-clean optional <paths>... parameters.
-rw-r--r-- | Documentation/git-clean.txt | 5 | ||||
-rwxr-xr-x | git-clean.sh | 17 |
2 files changed, 17 insertions, 5 deletions
diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt index 36890c543d..c61afbcdba 100644 --- a/Documentation/git-clean.txt +++ b/Documentation/git-clean.txt @@ -8,7 +8,7 @@ git-clean - Remove untracked files from the working tree SYNOPSIS -------- [verse] -'git-clean' [-d] [-n] [-q] [-x | -X] +'git-clean' [-d] [-n] [-q] [-x | -X] [--] <paths>... DESCRIPTION ----------- @@ -16,6 +16,9 @@ Removes files unknown to git. This allows to clean the working tree from files that are not under version control. If the '-x' option is specified, ignored files are also removed, allowing to remove all build products. +When optional `<paths>...` arguments are given, the paths +affected are further limited to those that match them. + OPTIONS ------- diff --git a/git-clean.sh b/git-clean.sh index b200868e60..bb56264e04 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 |