[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: r1577170 - remove wildcard handling from some .exe's on Windows

From: Bert Huijben <bert_at_qqmail.nl>
Date: Tue, 25 Mar 2014 10:51:33 +0100

> -----Original Message-----
> From: C. Michael Pilato [mailto:cmpilato_at_collab.net]
> Sent: woensdag 19 maart 2014 16:27
> To: Bert Huijben; 'Branko Čibej'; dev_at_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
Received on 2014-03-25 10:52:25 CET

This is an archived mail posted to the Subversion Dev mailing list.