subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko ─îibej <>
Subject Re: Questions about --pin-externals option
Date Tue, 26 Apr 2016 07:21:37 GMT
On 26.04.2016 01:27, Stefan wrote:
> Hi Edwards,
>> A couple questions regarding "svn copy --pin-externals":
>> 1) I thought I saw that when the --pin-externals option was being
>>     developed it handled things differently when the destination was a
>>     tag verses a branch.
>>     IIRC, copy --pin-externals to a "tag" destination just pinned the
>>     revision to the current one (leaving the path the same), but if the
>>     destination was a "branch" and the source was relative, it would
>>     leave the version floating and change the path so it too pointed to
>>     a branch (or something like that).
>>     Did the branch handling stuff get dropped?
> That would be news to me. As far as I'm aware SVN does not treat
> tags/branches special in any case.
> To keep externals "floating" simply use externals without pinning them
> to a certain revision, or am I getting your question wrong?

There is no difference between "branches" and "tags." The
--pin-externals option applies to the 'svn copy' command, there's no
extra magic beyond that.

>> 2) Are there server-side version dependancies for use of the
>>     --pin-externals option?  Or will it work with any server version?
> This client-side feature works with any server but requires a client
> >= 1.9.
> Note that the feature to specify externals with peg revisions was
> actually added in 1.5 already [1].
> That said, if you use that feature all clients which access the
> repository should be >= 1.5 to understand the syntax correctly.
> 1.9 only added that command line option to simplify working with
> externals.

That's not the case at all. The old externals format prior to 1.5 did
have a revision parameter that was in fact interpreted as a peg
revision. 'svn copy --pin-externals' detects the format of the externals
reference does not change it even when adding a revision specifier.
Clients older than 1.5 will continue to work with branches and tags that
were created with the --pin-externals option.

-- Brane

View raw message