On Wed, Jun 05, 2013 at 03:19:18PM -0400, Andrew Gregory wrote: > On 06/05/13 at 03:10pm, Patrick Steinhardt wrote: > > On Wed, Jun 05, 2013 at 10:28:25PM +1000, Allan McRae wrote: > > > On 05/06/13 16:16, Andrew Gregory wrote: > > > > > > > > I tend to think that the particular problem at issue here would be > > > > better solved by a negation operator ala gitignore: > > > > > > > > NoExtract = usr/share/locale/* !usr/share/locale/en_US/* > > > > > > > > > I like this idea. > > > > How would you ignore all but two files in this directory then? > > > > NoExtract = !usr/share/locale/en_US/* !usr/share/locale/locale.alias > > > > One problem that comes to my mind: the first inverse match > > already includes locale.alias and as such it would not be > > extracted. The second term would exclude locale.alias but include > > en_US/*. > > > > Currently we abort as soon as the first expression (whether it is > > PCRE or fnmatch) matches. If we do it like that we would need to > > always iterate over all entries in NoExtract and check if a later > > occurence of the same file exists that overwrites previous > > occurences. _If_ a later term matches again it is unclear as to > > what to do, as stated above. > > > > I would simply have the last match win. It's simple, flexible, and we > can still abort as soon as we find a match if we just check them in > reverse order. So you could do what you want with: > > NoExtract = usr/share/locale/* > NoExtract = !usr/share/locale/en_US/* > NoExtract = !usr/share/locale/locale.alias
usr/share/locale/locale.alias already matches en_US/*. > > apg >
pgpFnTwCyflxR.pgp
Description: PGP signature
