[patch] improved ignore pattern matching (#57637)

Kent Gibson warthog618 at gmail.com
Sun Nov 26 02:07:55 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


>
> I do appreciate fixing bug 57637, but since this isn't backwards
> compatible, I'd prefer if we only broke it _once_ if we really have
> to. That means deciding wether we want zsh/rsync style extensions.
>
No it doesn't.  They are, by definition, extensions.
For the moment ** and *** are treated as *, just as they are now.  No
change there.

So how many ** and *** patterns do we expect to see out there in the
wild?  None.
We haven't supported those so far and we still don't.

IMHO supporting such extensions is orthogonal to the issue at hand,
which was why I separated it out in the first place.  OTOH I can see
your point on only wanting to be incompatible once - that was why I
went with the full globbing fix rather than just patching the broken
fnmatch.

Further, I mailed to the list several weeks ago regarding what style
extension styles people would prefer.
Still not one reply.  You could take that to mean no one is interested
in having those extensions added at all.

> https://blueprints.launchpad.net/products/bzr/+spec/new-ignore-rules
>  has some thoughts that may be relevant.
>
No kidding - that was one of my references.  However it also talks
about gross changes to the ignore system to make it an internal
property - including repository format changes and going to
extraordinary lengths to maintain backward compatibility.  The spec is
aimed at the switch to an internal property, not the patterns
themselves - "The proposal is to change these to use a special
internal property.".  While the spec does touch on Jan's improved
matcher, on which my patch is based, it is only as an incidental first
step.  It is not directly relevant to the core of the spec.

What is described in new-ignore-rules goes far beyond the scope of
fixing the pattern matching for bug 57637.  If you want to block
57637, and any other ignore pattern changes, to make them part of that
sweeping change then please do so.  That includes my trailing slash
fix which is in for 0.13 but which you might now want to revert since
it is not 100% backwardly compatible either.  Otherwise someone else
might be tempted to waste time fixing them.

I think there has to be a point at which you give up on maintaining
backwards compatibility cos it's just not worth it.  Rather than
taking heroic measures to retain the existing ignore behaviour for old
installations it is better to clearly warn that there is a behavioural
change and be done with it.  This is one of those cases.

Cheers,
Kent.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFaPb6goxTFTi1P8QRAk8VAJ48MuK2JohhUEJo24M8+1+fP0m9MwCdE8N5
gwEST7138m5I7jOghl7GtTI=
=rzdX
-----END PGP SIGNATURE-----




More information about the bazaar mailing list