subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Shahaf <...@daniel.shahaf.name>
Subject Re: svn commit: r1845013 - /subversion/trunk/subversion/tests/cmdline/basic_tests.py
Date Mon, 29 Oct 2018 18:08:09 GMT
Good morning Brane,

brane@apache.org wrote on Sun, 28 Oct 2018 10:40 +0000:
> Add XFAIL tests for issue #4530.
> 
> +++ subversion/trunk/subversion/tests/cmdline/basic_tests.py Sun Oct 28 10:40:04 2018
> @@ -3050,6 +3050,33 @@ def peg_rev_on_non_existent_wc_path(sbox
> +def do_move_with_at_signs(sbox, src, dst, dst_cmdline):
> +  sbox.build()
> +
> +  expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1)
> +  expected_status.tweak(src, status='D ', moved_to=dst)
> +  expected_status.add({dst: Item(status='A ', copied='+',
> +                                 moved_from=src, wc_rev='-')})
> +
> +  sbox.simple_move(src, dst_cmdline)
> +  svntest.actions.run_and_verify_status(sbox.wc_dir, expected_status)
> +
> +@Issue(4530)
> +@XFail()
> +def move_to_target_with_leading_at_sign(sbox):
> +  "rename to dir/@file"
> +
> +  do_move_with_at_signs(sbox, 'iota', 'A/@upsilon', 'A/@upsilon')
> +
> +
> +@Issue(4530)
> +@XFail()
> +def move_to_target_with_leading_and_trailing_at_sign(sbox):
> +  "rename to dir/@file@"
> +
> +  do_move_with_at_signs(sbox, 'iota', 'A/@upsilon', 'A/@upsilon@')

I'm not actually sure these are supposed to work as these tests expect:
supporting A/@upsilon as the first argument like this would prevent us
from adding "foo@upsilon" as a command-line syntax for '"foo" at peg
revision svn_opt_revision_working' in a future minor release.  I think
this line of thought applies to the second argument as well.

It would probably be good to review the list of intended changes before
time is spent implementing them.  Is there such a list?  (I don't recall
seeing one on the issue.)

I can see a number of options:

- All PATH arguments (and all TARGET formal arguments when the actual
  argument isn't a URI) are parsed for peg revisions, no exceptions.

- Ditto, except when the argument denotes an unversioned un-disk path
  (like the targets of «svn add», the file passed as argument to the
  «--targets» option, and so on).
  
- Ditto, plus something that excludes the second target argument to
  «svn move».  (I'm not sure about how exactly to do this because the syntax
  is so ambiguous: «svn move file1 file2», «svn move baz foo/bar» where
  «foo/» exists and bar doesn't, and «svn move baz foo/bar» where
  «foo/bar/» is a directory, are all valid.)

I'm sure there are more options, but my point is, let's agree on what
the CLI documentation on escaping should say in 1.12.

Cheers,

Daniel

Mime
View raw message