The code actually detects if the definition is in the old or new format and uses the same format to apply the pegging.
See ‘make_external_description’ which uses ‘svn_wc__external_description_format_1’ and ‘svn_wc__external_description_format_2’ to handle the different formats.
(In the pre 1.5 format the ‘-r’ is interpreted as a peg revision)
From: C. Michael Pilato [mailto:firstname.lastname@example.org]
Sent: dinsdag 25 augustus 2015 17:07
To: Subversion Development <email@example.com>
Subject: New 'svn cp --pin-externals' feature compat question.
I was reading up on the new 'svn cp --pin-externals' feature in the 1.9 release notes. Great addition, by the way, and one that I hope to use myself with ViewVC's release tags.
One question came to mind, though. The use of the feature appears to result in pegged externals definitions (as in, @-bearing URLs). That's great and obviously the correct approach. But if I recall correctly, this means that use of the feature will cause the copy's externals to be written in a way that older (pre-1.5) clients do not understand.
Is that correct? If so, I think that's a fine limitation to have -- no complaints at all here. But perhaps this merits a mention in the Compatibility section of the release notes?