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

Re: Unclear syntax for relative addressing of svn:externals, on RHEL 5, subversion-1.6.12

From: Stefan Sperling <stsp_at_elego.de>
Date: Tue, 13 Jul 2010 14:15:22 +0200

On Mon, Jul 12, 2010 at 05:57:24PM -0400, Nico Kadel-Garcia wrote:
> I don't know why the syntax was reversed: it really looks like an
> entirely unnecessary parsing complication.

The new syntax looks more like 'svn checkout', so it's more natural
to use when you're already used to svn checkout.

> I would change it like this:

I think we should discourage use of the old syntax in both the output
of svn help and in the book. Diff to the help text below.
Would this improve things?

Stefan

--- /tmp/old Tue Jul 13 14:00:00 2010
+++ /tmp/mine Tue Jul 13 14:13:50 2010
@@ -1,23 +1,23 @@
     svn:externals - A newline separated list of module specifiers,
- each of which consists of a relative directory path, optional
- revision flags and an URL. The ordering of the three elements
- implements different behavior. Subversion 1.4 and earlier only
- support the following formats and the URLs cannot have peg
- revisions:
- foo http://example.com/repos/zig
- foo/bar -r 1234 http://example.com/repos/zag
- Subversion 1.5 and greater support the above formats and the
- following formats where the URLs may have peg revisions:
- http://example.com/repos/zig@42 foo
- -r 1234 http://example.com/repos/zig foo/bar
- Relative URLs are supported in Subversion 1.5 and greater for
- all above formats and are indicated by starting the URL with one
- of the following strings
+ each of which consists of a URL relative directory path, similar
+ to the syntax of the 'svn checkout' command:
+ http://example.com/repos/zag foo/bar
+ An optional peg revision may be appended to the URL to pin the
+ external to a known revision:
+ http://example.com/repos/zig@42 foo
+ Relative URLs are indicated by starting the URL with one
+ of the following strings:
         ../ to the parent directory of the extracted external
         ^/ to the repository root
         // to the scheme
         / to the server root
- The ambiguous format 'relative_path relative_path' is taken as
- 'relative_url relative_path' with peg revision support.
       Lines in externals definitions starting with the '#' character
       are considered comments and are ignored.
+ Subversion 1.4 and earlier only support the following formats
+ where the URLs cannot have peg revisions and cannot be relative:
+ foo http://example.com/repos/zig
+ foo/bar -r 1234 http://example.com/repos/zag
+ Use of these formats is discouraged. They should only be used if
+ interoperability with 1.4 clients is desired.
+ The ambiguous format 'relative_path relative_path' is taken as
+ 'relative_url relative_path' with peg revision support.
Received on 2010-07-13 14:16:34 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.