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

Re: Inconsistencies/bugs in peg revision parsing and help description

From: Mark Phippard <markphip_at_gmail.com>
Date: Sun, 9 Sep 2018 07:33:58 -0400

> On Sep 9, 2018, at 6:46 AM, Michael Osipov <michaelo_at_apache.org> wrote:
>
> Folks,
>
> while working on SCM-859 I have found some oddities on Subversion 1.9.7 and 1.10.2.
>
> Here are some examples for me which shall not be marked as an error or the documentation does not mention @REV/@PEG at all:
>
> > PS D:\Entwicklung\Projekte\toll_at_repo@test> svn info
> > Path: .
> > Working Copy Root Path: D:\Entwicklung\Projekte\toll_at_repo@test
> > URL: file:///D:/Entwicklung/Projekte/toll_at_repo
> > Relative URL: ^/
> > Repository Root: file:///D:/Entwicklung/Projekte/toll_at_repo
> > Repository UUID: 93f9f50a-2bc4-b345-885e-ec2050f72365
> > Revision: 9
> > Node Kind: directory
> > Schedule: normal
> > Last Changed Author: mosipov
> > Last Changed Rev: 9
> > Last Changed Date: 2018-09-09 12:06:38 +0200 (So, 09 Sep 2018)
> >
> > PS D:\Entwicklung\Projekte\toll_at_repo@test> svn mkdir --parents file:///D:/Entwicklung/Projekte/toll_at_repo/non/existent_at_4 -m "dir"
> > svn: E200009: 'file:///D:/Entwicklung/Projekte/toll_at_repo/non/existent_at_4': a peg revision is not allowed here
> >
> > PS D:\Entwicklung\Projekte\toll_at_repo@test> svn export file:///D:/Entwicklung/Projekte/toll_at_repo@ ../ex_at_23
> > svn: E200009: '../ex_at_23': a peg revision is not allowed here
>
> This list is not exhaustive, but merely an example of what is wrong. I simply don't expect any PEG parsing here at all.
>
> Any thoughts?

If I understand your examples, you are showing what happens when the filename contains an @, right? If so, this is addressed in the book in this paragraph:

"The perceptive reader is probably wondering at this point whether the peg revision syntax causes problems for working copy paths or URLs that actually have at signs in them. After all, how does svn know whether news_at_11 is the name of a directory in my tree or just a syntax for “revision 11 of news”? Thankfully, while svn will always assume the latter, there is a trivial workaround. You need only append an at sign to the end of the path, such as news_at_11@. svn cares only about the last at sign in the argument, and it is not considered illegal to omit a literal peg revision specifier after that at sign. This workaround even applies to paths that end in an at sign—you would use filename@@ to talk about a file namedfilename@."

Mark
Received on 2018-09-09 13:34:16 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.