subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s...@apache.org
Subject svn commit: r1659311 - /subversion/branches/pin-externals/subversion/include/svn_client.h
Date Thu, 12 Feb 2015 16:44:45 GMT
Author: stsp
Date: Thu Feb 12 16:44:45 2015
New Revision: 1659311

URL: http://svn.apache.org/r1659311
Log:
On the pin-externals branch, improve API documentation.

* subversion/include/svn_client.h
  (svn_client_copy7): Explain what "pinning" an external means and
   explain the necessary preconditions for pinning WC externals.

Suggested by: julianfoad

Modified:
    subversion/branches/pin-externals/subversion/include/svn_client.h

Modified: subversion/branches/pin-externals/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/pin-externals/subversion/include/svn_client.h?rev=1659311&r1=1659310&r2=1659311&view=diff
==============================================================================
--- subversion/branches/pin-externals/subversion/include/svn_client.h (original)
+++ subversion/branches/pin-externals/subversion/include/svn_client.h Thu Feb 12 16:44:45
2015
@@ -4494,13 +4494,30 @@ typedef struct svn_client_copy_source_t
  *
  * If @a pin_externals is set, pin URLs in copied externals definitions
  * to their current revision unless they were already pinned to a
- * particular revision. If non-NULL, @a externals_to_pin restricts pinning
- * to a subset of externals. It is a hash table keyed by either a local
- * absolute path or a URL at which an svn:externals property is set.
- * The hash table contains apr_array_header_t* elements as returned
- * by svn_wc_parse_externals_description3(). These arrays contain elements
- * of type svn_wc_external_item2_t*. Externals corresponding to these
- * items will be pinned, other externals will not be pinned.
+ * particular revision. A pinned external uses a URL which points at a
+ * fixed revision, rather than the HEAD revision. Externals in the copy
+ * destination are pinned to either a working copy base revision or the
+ * HEAD revision of a repository (as of the time the copy operation is
+ * performed), depending on the type of the copy source:
+ <pre>
+    copy source: working copy (WC)       REPOS
+   ------------+------------------------+---------------------------+
+    copy    WC | external's WC BASE rev | external's repos HEAD rev |
+    dest:      |------------------------+---------------------------+
+         REPOS | external's WC BASE rev | external's repos HEAD rev |
+   ------------+------------------------+---------------------------+
+ </pre>
+ * If the copy source is a working copy, then all externals must be checked
+ * out, be at a single-revision, contain no local modifications, and contain
+ * no switched subtrees. Else, #SVN_ERR_WC_PATH_UNEXPECTED_STATUS is returned.
+ * 
+ * If non-NULL, @a externals_to_pin restricts pinning to a subset of externals.
+ * It is a hash table keyed by either a local absolute path or a URL at which
+ * an svn:externals property is set. The hash table contains apr_array_header_t*
+ * elements as returned by svn_wc_parse_externals_description3(). These arrays
+ * contain elements of type svn_wc_external_item2_t*, each of which corresponds
+ * to a single line of an svn:externals definition. Externals corresponding to
+ * these items will be pinned, other externals will not be pinned.
  * If @a externals_to_pin is @c NULL then all externals are pinned.
  * If @a pin_externals is @c FALSE then @a externals_to_pin is ignored.
  *



Mime
View raw message