Junio C Hamano wrote:
quoted text > "pradeep singh rautela" <rautelap@gmail.com> writes:
>
>> How about something like,
>> warning("Ignoring ignore entry because of trailing
>> slash: %s\n Remove the trailing slash from the directory name to
>> ignore it", string);
>> May be this will help absolute git newbies.
>
> I am afraid that this is leading us in the wrong direction.
>
> What would be the first reaction if somebody sees such a
> message?
>
> The message implies that the user said "foo/" which would be
> ignored and the right substitution is "foo". If that is the
> right substitution, why doesn't the stupid "git" program do
> that for the user automatically?!?!?!?!
>
> See?
>
> "Remove the trailing" suggestion assumes that we would want "foo/"
> and "foo" to mean the same thing.
>
> Maybe we do, but we usually match both directory "foo/" and
> regular file "foo" when you say "foo", and we match only
> directory "foo/" when you say "foo/", as you saw in the ls-files
> example.
>
> While I am not 100% convinced that we want to keep the
> distinction between these two forms, I am far from thinking that
> the existing distinction in other parts of the system is useless
> and should be removed.
>
> Maybe we would want to drop this distinction in the gitignore
> entries, and the apparent inconsistency may not hurt in reality.
> If that is what we would want, that is fine, but then we
> shouldn't give a warning with a stupid piece of advice, but
> instead just do it ourselves.
>
> Like this on top of 'master' (i.e. discarding all the previous
> patches), perhaps...
>
> -- >8 --
> [PATCH] gitignore(5): Allow "foo/" in ignore list to match directory "foo"
>
> A pattern "foo/" in the exclude list did not match directory
> "foo", but a pattern "foo" did. This just strips the trailing
> slash from such input.
>
> This makes the behaviour slightly inconsistent with that of
> pathspecs, where "foo/" only matches directory "foo" and not
> regular file "foo" and make "foo/" in the ignore list match
> regular file "foo" happily. This may hopefully does not matter
> in practice.
>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
> Documentation/gitignore.txt | 3 +++
> dir.c | 22 ++++++++++++++++++----
> t/t3001-ls-files-others-exclude.sh | 26 ++++++++++++++++++++++++++
> 3 files changed, 47 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
> index 08373f5..081a4df 100644
> --- a/Documentation/gitignore.txt
> +++ b/Documentation/gitignore.txt
> @@ -57,6 +57,9 @@ Patterns have the following format:
> included again. If a negated pattern matches, this will
> override lower precedence patterns sources.
>
> + - If the pattern ends with a slash,
that slash
quoted text > is removed for the
> + purpose of the following description.
> +
> - If the pattern does not contain a slash '/', git treats it as
> a shell glob pattern and checks for a match against the
> pathname without leading directories.
Otherwise it sounds as if the entire pattern is removed.
--
Andreas Ericsson
andreas.ericsson@op5.se
OP5 AB
www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html