subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Foad <>
Subject Don't reject arguments of the form ".@PEG"
Date Wed, 29 Oct 2014 12:22:50 GMT
An 'svn' command-line argument of the form ".@PEG" raises the error

  svn: E125001: '@PEG' is just a peg revision. Maybe try '@PEG@' instead?

That error is annoying to me, and unnecessary.

This happens for pretty much any 'svn' command, with any path that is converted to "" on canonicalization
and conversion to "internal style". It is inconsistent with how we interpret other arguments
containing a peg specifier, including arguments such as "foo/..@PEG" which also refer to "this
directory" at a semantic level but which are not collapsed to "@PEG" at a syntactic level.

I think the reason that error was introduced (by stsp in r878062) was to prevent people being
caught out when we changed the interpretation of a filename that starts with "@" such as "@file".
Before r878062 that had been interpreted as a filename, and afterwards as a peg revision.

It seems to me that check should only reject command-line arguments of the form "@PEG", and
not of the form ".@PEG". However, the check was in a low-level function () that is used both
after conversion to internal style as well as before conversion, so arguments of the form
".@PEG" were also being rejected.

I intend to correct this, to make arguments of the form ".@PEG" syntactically acceptable.

- Julian

View raw message