Branko Čibej wrote on Fri, 09 Nov 2018 12:56 +0100:
> On 09.11.2018 12:54, br...@apache.org wrote:
> > Author: brane
> > Date: Fri Nov  9 11:54:21 2018
> > New Revision: 1846237
> >
> > URL: http://svn.apache.org/viewvc?rev=1846237&view=rev
> > Log:
> > More tests for peg revision parsing.
> [...]
> > +@Wimp("Removes E instead of reporting ENOENT or E125001 for E/@")
> > +def remove_subdir_7a_no_escape_peg(sbox):
> > +  "remove missing 'E/@' without pegrev escape"
> > +  do_remove(sbox, 'E/@', 'E/@') #, "svn: E125001: 'E/@'")
> 
> Yes indeed ... our target parsing is so incredibly reliable that
> attempting to delete a non-existent 'E/@' will happily delete 'E' with
> all its contents. I think this may be too much of a good thing.

The documented escaping rule for CLI consumers is to append an "@" after
every filename.  By this rule, a CLI consumer that _wants_ to remove E/
would run "svn rm E/@".  That command should parse as { target = 'E/',
peg = '' } regardless of whether the directory "E" contains a child
named "@".

I don't understand what change you're proposing.

Reply via email to