subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: Unclear syntax for relative addressing of svn:externals, on RHEL 5, subversion-1.6.12
Date Tue, 13 Jul 2010 12:15:22 GMT
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.

Mime
View raw message