Skip to content

Commit b9a77ee

Browse files
committed
Merge branch 'jc/clean-exclude-doc'
* jc/clean-exclude-doc: Documentation: clarify "git clean -e <pattern>"
2 parents 78c5be2 + b619467 commit b9a77ee

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

Documentation/git-clean.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,14 @@ OPTIONS
4747

4848
-e <pattern>::
4949
--exclude=<pattern>::
50-
Specify special exceptions to not be cleaned. Each <pattern> is
51-
the same form as in $GIT_DIR/info/excludes and this option can be
52-
given multiple times.
50+
In addition to those found in .gitignore (per directory) and
51+
$GIT_DIR/info/exclude, also consider these patterns to be in the
52+
set of the ignore rules in effect.
5353

5454
-x::
55-
Don't use the ignore rules. This allows removing all untracked
55+
Don't use the standard ignore rules read from .gitignore (per
56+
directory) and $GIT_DIR/info/exclude, but do still use the ignore
57+
rules given with `-e` options. This allows removing all untracked
5658
files, including build products. This can be used (possibly in
5759
conjunction with 'git reset') to create a pristine
5860
working directory to test a clean build.

builtin/clean.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
5454
OPT_BOOLEAN('d', NULL, &remove_directories,
5555
"remove whole directories"),
5656
{ OPTION_CALLBACK, 'e', "exclude", &exclude_list, "pattern",
57-
"exclude <pattern>", PARSE_OPT_NONEG, exclude_cb },
57+
"add <pattern> to ignore rules", PARSE_OPT_NONEG, exclude_cb },
5858
OPT_BOOLEAN('x', NULL, &ignored, "remove ignored files, too"),
5959
OPT_BOOLEAN('X', NULL, &ignored_only,
6060
"remove only ignored files"),
@@ -98,7 +98,8 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
9898
setup_standard_excludes(&dir);
9999

100100
for (i = 0; i < exclude_list.nr; i++)
101-
add_exclude(exclude_list.items[i].string, "", 0, dir.exclude_list);
101+
add_exclude(exclude_list.items[i].string, "", 0,
102+
&dir.exclude_list[EXC_CMDL]);
102103

103104
pathspec = get_pathspec(prefix, argv);
104105

0 commit comments

Comments
 (0)