Documentation: clarify "git clean -e <pattern>"
authorJunio C Hamano <gitster@pobox.com>
Thu, 25 Aug 2011 18:29:57 +0000 (11:29 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 29 Aug 2011 06:47:55 +0000 (23:47 -0700)
commitb6194678b0eebdaf36d41e894b484206810f8221
tree733679406a2a5364e56a99ffd3361512a8d01fca
parentccef6048cd697063967e5e02937911fd8125b364
Documentation: clarify "git clean -e <pattern>"

The current explanation of -e can be misread as allowing the user to say

    I know 'git clean -XYZ' (substitute -XYZ with any option and/or
    parameter) will remove paths A, B, and C, and I want them all removed
    except for paths matching this pattern by adding '-e C' to the same
    command line, i.e. 'git clean -e C -XYZ'.

But that is not what this option does. It augments the set of ignore rules
from the command line, just like the same "-e <pattern>" argument does
with the "ls-files" command (the user could probably pass "-e \!C" to tell
the command to clean everything the command would normally remove, except
for C). Also error out when both -x and -e are given with an explanation of
what -e means---it is a symptom of misunderstanding what -e does.

It also fixes small style nit in the parameter to add_exclude() call. The
current code only works because EXC_CMDL happens to be defined as 0.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-clean.txt
builtin/clean.c