> -----Original Message-----
> From: C. Michael Pilato [mailto:cmpil...@collab.net]
> Sent: woensdag 19 maart 2014 16:27
> To: Bert Huijben; 'Branko Čibej'; dev@subversion.apache.org
> Subject: Re: r1577170 - remove wildcard handling from some .exe's on
> Windows
> 
> On 03/19/2014 11:12 AM, Bert Huijben wrote:
> > Just to name a few: to set our binary properties, which we documented to
> just allow '*'
> >
> > svn:needs-lock
> > svn:executable
> 
> This is a kinda soft one, since we automatically normalize the values of
> these properties:
> 
> $ svn pset svn:executable '' iota
> property 'svn:executable' set on 'iota'
> svn: warning: W125005: To turn off the svn:executable property, use 'svn
> propdel';
> setting the property to '' will not turn it off.
> $ svn plist -vR
> Properties on 'iota':
>   svn:executable
>     *
> $
> 
> > Or
> > svn ci -m "* STATUS: something"
> > this example doesn't match anything as ':' is invalid, but this invocation 
> > does
> trigger the glob handling.
> 
> This is a *better* case, but preeeeeeetty edge-casey still as arguments go.

Yesterday I found a much better example, and this time even on one of the 
applications that are really affected by the change...
(svnadmin and svn aren't... see the patch)

See:
$ svndumpfilter --help include
include: Filter out nodes without given prefixes from dumpstream.
usage: svndumpfilter include PATH_PREFIX...

Valid options:
  --drop-empty-revs        : Remove revisions emptied by filtering.
  --drop-all-empty-revs    : Remove all empty revisions found in dumpstream
                             except revision 0.
  --renumber-revs          : Renumber revisions left after filtering.
  --skip-missing-merge-sources : Skip missing merge sources.
  --targets ARG            : Read additional prefixes, one per line, from
                             file ARG.
  --preserve-revprops      : Don't filter revision properties.
  --quiet                  : Do not display filtering statistics.
  --pattern                : Treat the path prefixes as file glob patterns.


This tells us that
$ svndumpfilter include --pattern "*.txt" < file.dump > newfile.dump

Would evaluate the * as part of the argument parsing, not as part of the 
filtering.

And as the * is evaluated in svndumpfilter (and not the shell as on *nix), 
there is no way to escape the *...

        Bert

Reply via email to