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.