Folks,

I could have either found a bug in the handling of input or a document insufficiency. We have received a downstream bug: https://github.com/websvnphp/websvn/issues/189

It boils down to this command:
# svn  export -r 50 'file:///var/svn/Playground/me%40you.d/@'  me@you.d.r50
svn: E200009: 'me@you.d.r50': a peg revision is not allowed here

I fail to see here that PATH1 is subject to PEGREV parsing:
# svn help export
export: Create an unversioned copy of a tree.
usage: 1. export [-r REV] URL[@PEGREV] [PATH]
       2. export [-r REV] PATH1[@PEGREV] [PATH2]

  1. Exports a clean directory tree from the repository specified by
     URL, at revision REV if it is given, otherwise at HEAD, into
     PATH. If PATH is omitted, the last component of the URL is used
     for the local directory name.

Verified with:
# svn --version
svn, version 1.10.8 (r1899510)
   compiled Jan 31 2023, 15:01:25 on amd64-portbld-freebsd12.4
and
# svn --version
svn, Version 1.14.2 (r1899510)
   übersetzt am Jun 16 2023, um 09:25:07 auf amd64-portbld-freebsd12.4

This works:
# svn  export -r 50 'file:///var/svn/Playground/me%40you.d/@'  me@you.d.r50@
A    me@you.d.r50
Exported revision 50.

Now the opposite:
# svn  export -r 50 'file:///var/svn/Playground/me%40you.d/@'  me@you.d.r50@99
svn: E200009: 'me@you.d.r50@99': a peg revision is not allowed here

this seems to be a safe bet to always append an @ to the PATH1:
# svn  export -r 50 'file:///var/svn/Playground/hallo.c@'  hallo.c@
A    hallo.c
Export complete.
# ll hallo.c
-rw-r--r--  1 root  wheel  104 2017-03-27 13:56 hallo.c

Any clarification is appreciated. JIRA doesn't contain anything useful.

Michael

Reply via email to