subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r1662177 [2/18] - in /subversion/branches/reuse-ra-session: ./ build/ build/generator/ contrib/client-side/svncopy/ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversion/bindings/javahl/s...
Date Wed, 25 Feb 2015 08:15:42 GMT
Modified: subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java Wed Feb 25 08:15:39 2015
@@ -34,138 +34,138 @@ import org.apache.subversion.javahl.type
 
 public interface ISVNRepos {
 
-	/**
-	 * interface to receive the messages
-	 */
-	public static interface MessageReceiver
-	{
-	    /**
-	     * receive one message line
-	     * @param message   one line of message
-	     */
-	    public void receiveMessageLine(String message);
-	}
-
-	/**
-	 * release the native peer (should not depend on finalize)
-	 */
-	public abstract void dispose();
-
-	/**
-	 * Filesystem in a Berkeley DB
-	 */
-	public static final String BDB = "bdb";
-	/**
-	 * Filesystem in the filesystem
-	 */
-	public static final String FSFS = "fsfs";
-
-	/**
-	 * @return Version information about the underlying native libraries.
-	 */
-	public abstract Version getVersion();
-
-	/**
-	 * create a subversion repository.
-	 * @param path                  the path where the repository will been
-	 *                              created.
-	 * @param disableFsyncCommit    disable to fsync at the commit (BDB).
-	 * @param keepLog               keep the log files (BDB).
-	 * @param configPath            optional path for user configuration files.
-	 * @param fstype                the type of the filesystem (BDB or FSFS)
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void create(File path, boolean disableFsyncCommit,
-			boolean keepLog, File configPath, String fstype)
-			throws ClientException;
-
-	/**
-	 * deltify the revisions in the repository
-	 * @param path              the path to the repository
-	 * @param start             start revision
-	 * @param end               end revision
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void deltify(File path, Revision start, Revision end)
-			throws ClientException;
-
-	/**
-	 * dump the data in a repository
-	 * @param path              the path to the repository
-	 * @param dataOut           the data will be outputed here
-	 * @param start             the first revision to be dumped
-	 * @param end               the last revision to be dumped
-	 * @param incremental       the dump will be incremantal
-	 * @param useDeltas         the dump will contain deltas between nodes
+    /**
+     * interface to receive the messages
+     */
+    public static interface MessageReceiver
+    {
+        /**
+         * receive one message line
+         * @param message   one line of message
+         */
+        public void receiveMessageLine(String message);
+    }
+
+    /**
+     * release the native peer (should not depend on finalize)
+     */
+    public abstract void dispose();
+
+    /**
+     * Filesystem in a Berkeley DB
+     */
+    public static final String BDB = "bdb";
+    /**
+     * Filesystem in the filesystem
+     */
+    public static final String FSFS = "fsfs";
+
+    /**
+     * @return Version information about the underlying native libraries.
+     */
+    public abstract Version getVersion();
+
+    /**
+     * create a subversion repository.
+     * @param path                  the path where the repository will been
+     *                              created.
+     * @param disableFsyncCommit    disable to fsync at the commit (BDB).
+     * @param keepLog               keep the log files (BDB).
+     * @param configPath            optional path for user configuration files.
+     * @param fstype                the type of the filesystem (BDB or FSFS)
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void create(File path, boolean disableFsyncCommit,
+            boolean keepLog, File configPath, String fstype)
+            throws ClientException;
+
+    /**
+     * deltify the revisions in the repository
+     * @param path              the path to the repository
+     * @param start             start revision
+     * @param end               end revision
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void deltify(File path, Revision start, Revision end)
+            throws ClientException;
+
+    /**
+     * dump the data in a repository
+     * @param path              the path to the repository
+     * @param dataOut           the data will be outputed here
+     * @param start             the first revision to be dumped
+     * @param end               the last revision to be dumped
+     * @param incremental       the dump will be incremantal
+     * @param useDeltas         the dump will contain deltas between nodes
          * @param callback          the callback to receive notifications
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void dump(File path, OutputStream dataOut,
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void dump(File path, OutputStream dataOut,
                 Revision start, Revision end, boolean incremental,
                 boolean useDeltas, ReposNotifyCallback callback)
-			throws ClientException;
+            throws ClientException;
 
-	/**
-	 * make a hot copy of the repository
-	 * @param path              the path to the source repository
-	 * @param targetPath        the path to the target repository
-	 * @param cleanLogs         clean the unused log files in the source
-	 *                          repository
+    /**
+     * make a hot copy of the repository
+     * @param path              the path to the source repository
+     * @param targetPath        the path to the target repository
+     * @param cleanLogs         clean the unused log files in the source
+     *                          repository
          * @param callback          the callback to receive notifications
-	 * @throws ClientException  throw in case of problem
+     * @throws ClientException  throw in case of problem
          * @since 1.9
-	 */
-	public abstract void hotcopy(File path, File targetPath,
+     */
+    public abstract void hotcopy(File path, File targetPath,
                         boolean cleanLogs, boolean incremental,
                         ReposNotifyCallback callback)
                         throws ClientException;
 
-	public abstract void hotcopy(File path, File targetPath,
-			boolean cleanLogs, boolean incremental)
+    public abstract void hotcopy(File path, File targetPath,
+            boolean cleanLogs, boolean incremental)
                         throws ClientException;
 
-	public abstract void hotcopy(File path, File targetPath,
-			boolean cleanLogs) throws ClientException;
+    public abstract void hotcopy(File path, File targetPath,
+            boolean cleanLogs) throws ClientException;
 
-	/**
-	 * list all logfiles (BDB) in use or not)
-	 * @param path              the path to the repository
-	 * @param receiver          interface to receive the logfile names
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void listDBLogs(File path, MessageReceiver receiver)
-			throws ClientException;
-
-	/**
-	 * list unused logfiles
-	 * @param path              the path to the repository
-	 * @param receiver          interface to receive the logfile names
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void listUnusedDBLogs(File path, MessageReceiver receiver)
-			throws ClientException;
-
-
-	/**
-	 * load the data of a dump into a repository
-	 * @param path              the path to the repository
-	 * @param dataInput         the data input source
+    /**
+     * list all logfiles (BDB) in use or not)
+     * @param path              the path to the repository
+     * @param receiver          interface to receive the logfile names
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void listDBLogs(File path, MessageReceiver receiver)
+            throws ClientException;
+
+    /**
+     * list unused logfiles
+     * @param path              the path to the repository
+     * @param receiver          interface to receive the logfile names
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void listUnusedDBLogs(File path, MessageReceiver receiver)
+            throws ClientException;
+
+
+    /**
+     * load the data of a dump into a repository
+     * @param path              the path to the repository
+     * @param dataInput         the data input source
          * @param start             the first revision to load
          * @param end               the last revision to load
-	 * @param ignoreUUID        ignore any UUID found in the input stream
-	 * @param forceUUID         set the repository UUID to any found in the
-	 *                          stream
-	 * @param usePreCommitHook  use the pre-commit hook when processing commits
-	 * @param usePostCommitHook use the post-commit hook when processing commits
+     * @param ignoreUUID        ignore any UUID found in the input stream
+     * @param forceUUID         set the repository UUID to any found in the
+     *                          stream
+     * @param usePreCommitHook  use the pre-commit hook when processing commits
+     * @param usePostCommitHook use the post-commit hook when processing commits
          * @param validateProps     validate "svn:" revision and node properties
          * @param ignoreDates       ignore revision datestamps in the dump stream
-	 * @param relativePath      the directory in the repository, where the data
-	 *                          in put optional.
-	 * @param callback          the target for processing messages
-	 * @throws ClientException  throw in case of problem
+     * @param relativePath      the directory in the repository, where the data
+     *                          in put optional.
+     * @param callback          the target for processing messages
+     * @throws ClientException  throw in case of problem
          * @since 1.9
-	 */
-	public abstract void load(File path, InputStream dataInput,
+     */
+    public abstract void load(File path, InputStream dataInput,
                                   Revision start, Revision end,
                                   boolean ignoreUUID, boolean forceUUID,
                                   boolean usePreCommitHook,
@@ -176,27 +176,27 @@ public interface ISVNRepos {
                                   ReposNotifyCallback callback)
         throws ClientException;
 
-	/**
-	 * Load the data of a dump into a repository.  Sets
+    /**
+     * Load the data of a dump into a repository.  Sets
          * <code>validateProps</code> and <code>ignoreDates</code> to
          * <code>false</code>.
          *
-	 * @param path              the path to the repository
-	 * @param dataInput         the data input source
+     * @param path              the path to the repository
+     * @param dataInput         the data input source
          * @param start             the first revision to load
          * @param end               the last revision to load
-	 * @param ignoreUUID        ignore any UUID found in the input stream
-	 * @param forceUUID         set the repository UUID to any found in the
-	 *                          stream
-	 * @param usePreCommitHook  use the pre-commit hook when processing commits
-	 * @param usePostCommitHook use the post-commit hook when processing commits
-	 * @param relativePath      the directory in the repository, where the data
-	 *                          in put optional.
-	 * @param callback          the target for processing messages
-	 * @throws ClientException  throw in case of problem
+     * @param ignoreUUID        ignore any UUID found in the input stream
+     * @param forceUUID         set the repository UUID to any found in the
+     *                          stream
+     * @param usePreCommitHook  use the pre-commit hook when processing commits
+     * @param usePostCommitHook use the post-commit hook when processing commits
+     * @param relativePath      the directory in the repository, where the data
+     *                          in put optional.
+     * @param callback          the target for processing messages
+     * @throws ClientException  throw in case of problem
          * @since 1.8
-	 */
-	public abstract void load(File path, InputStream dataInput,
+     */
+    public abstract void load(File path, InputStream dataInput,
                                   Revision start, Revision end,
                                   boolean ignoreUUID, boolean forceUUID,
                                   boolean usePreCommitHook,
@@ -205,163 +205,163 @@ public interface ISVNRepos {
                                   ReposNotifyCallback callback)
         throws ClientException;
 
-	/**
-	 * load the data of a dump into a repository
-	 * @param path              the path to the repository
-	 * @param dataInput         the data input source
-	 * @param ignoreUUID        ignore any UUID found in the input stream
-	 * @param forceUUID         set the repository UUID to any found in the
-	 *                          stream
-	 * @param usePreCommitHook  use the pre-commit hook when processing commits
-	 * @param usePostCommitHook use the post-commit hook when processing commits
-	 * @param relativePath      the directory in the repository, where the data
-	 *                          in put optional.
-	 * @param callback          the target for processing messages
-	 * @throws ClientException  throw in case of problem
+    /**
+     * load the data of a dump into a repository
+     * @param path              the path to the repository
+     * @param dataInput         the data input source
+     * @param ignoreUUID        ignore any UUID found in the input stream
+     * @param forceUUID         set the repository UUID to any found in the
+     *                          stream
+     * @param usePreCommitHook  use the pre-commit hook when processing commits
+     * @param usePostCommitHook use the post-commit hook when processing commits
+     * @param relativePath      the directory in the repository, where the data
+     *                          in put optional.
+     * @param callback          the target for processing messages
+     * @throws ClientException  throw in case of problem
          * @note behaves like the 1.8 vesion with the revision
          *       parameters set to Revision.START and Revision.HEAD.
-	 */
-	public abstract void load(File path, InputStream dataInput,
-			boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook,
+     */
+    public abstract void load(File path, InputStream dataInput,
+            boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook,
             boolean usePostCommitHook, String relativePath,
             ReposNotifyCallback callback)
         throws ClientException;
 
-	/**
-	 * list all open transactions in a repository
-	 * @param path              the path to the repository
-	 * @param receiver          receives one transaction name per call
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void lstxns(File path, MessageReceiver receiver)
-			throws ClientException;
-
-	/**
-	 * recover the filesystem backend of a repository
-	 * @param path              the path to the repository
+    /**
+     * list all open transactions in a repository
+     * @param path              the path to the repository
+     * @param receiver          receives one transaction name per call
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void lstxns(File path, MessageReceiver receiver)
+            throws ClientException;
+
+    /**
+     * recover the filesystem backend of a repository
+     * @param path              the path to the repository
          * @return youngest revision
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract long recover(File path, ReposNotifyCallback callback)
-            throws ClientException;
-
-	/**
-	 * Take an exclusive lock on each of the listed repositories
-	 * to prevent commits; then, while holding all the locks, call
-	 * the action.invoke().
-	 *
-	 * The repositories may or may not be readable by Subversion
-	 * while frozen, depending on implementation details of the
-	 * repository's filesystem backend.
-	 *
-	 * Repositories are locked in the listed order.
-	 * @param action     describes the action to perform
-	 * @param paths	     the set of repository paths
-	 * @throws ClientException
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract long recover(File path, ReposNotifyCallback callback)
+            throws ClientException;
+
+    /**
+     * Take an exclusive lock on each of the listed repositories
+     * to prevent commits; then, while holding all the locks, call
+     * the action.invoke().
+     *
+     * The repositories may or may not be readable by Subversion
+     * while frozen, depending on implementation details of the
+     * repository's filesystem backend.
+     *
+     * Repositories are locked in the listed order.
+     * @param action     describes the action to perform
+     * @param paths	     the set of repository paths
+     * @throws ClientException
          * @since 1.8
-	 */
-	public abstract void freeze(ReposFreezeAction action,
-				    File... paths)
-	    throws ClientException;
-
-	/**
-	 * remove open transaction in a repository
-	 * @param path              the path to the repository
-	 * @param transactions      the transactions to be removed
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void rmtxns(File path, String[] transactions)
-			throws ClientException;
-
-	/**
-	 * Change the value of the revision property <code>propName</code>
-	 * to <code>propValue</code>.  By default, does not run
-	 * pre-/post-revprop-change hook scripts.
-	 *
-	 * @param path The path to the repository.
-	 * @param rev The revision for which to change a property value.
-	 * @param propName The name of the property to change.
-	 * @param propValue The new value to set for the property.
-	 * @param usePreRevPropChangeHook Whether to run the
-	 * <i>pre-revprop-change</i> hook script.
-	 * @param usePostRevPropChangeHook Whether to run the
-	 * <i>post-revprop-change</i> hook script.
-	 * @throws SubversionException If a problem occurs.
-	 */
-	public abstract void setRevProp(File path, Revision rev, String propName,
-			String propValue, boolean usePreRevPropChangeHook,
-			boolean usePostRevPropChangeHook) throws SubversionException;
-
-	/**
-	 * Verify the repository at <code>path</code> between revisions
-	 * <code>start</code> and <code>end</code>.
-	 *
-	 * @param path              the path to the repository
-	 * @param start             the first revision
-	 * @param end               the last revision
+     */
+    public abstract void freeze(ReposFreezeAction action,
+                    File... paths)
+        throws ClientException;
+
+    /**
+     * remove open transaction in a repository
+     * @param path              the path to the repository
+     * @param transactions      the transactions to be removed
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void rmtxns(File path, String[] transactions)
+            throws ClientException;
+
+    /**
+     * Change the value of the revision property <code>propName</code>
+     * to <code>propValue</code>.  By default, does not run
+     * pre-/post-revprop-change hook scripts.
+     *
+     * @param path The path to the repository.
+     * @param rev The revision for which to change a property value.
+     * @param propName The name of the property to change.
+     * @param propValue The new value to set for the property.
+     * @param usePreRevPropChangeHook Whether to run the
+     * <i>pre-revprop-change</i> hook script.
+     * @param usePostRevPropChangeHook Whether to run the
+     * <i>post-revprop-change</i> hook script.
+     * @throws SubversionException If a problem occurs.
+     */
+    public abstract void setRevProp(File path, Revision rev, String propName,
+            String propValue, boolean usePreRevPropChangeHook,
+            boolean usePostRevPropChangeHook) throws SubversionException;
+
+    /**
+     * Verify the repository at <code>path</code> between revisions
+     * <code>start</code> and <code>end</code>.
+     *
+     * @param path              the path to the repository
+     * @param start             the first revision
+     * @param end               the last revision
          * @param keepGoing         continue verification even if a revision is bad
          * @param checkNormalization report directory entry and mergeinfo name collisions
          *                           caused by denormalized Unicode representations
          * @param metadataOnly      check only metadata, not file contents
          * @param callback          the callback to receive notifications
-	 * @throws ClientException If an error occurred.
+     * @throws ClientException If an error occurred.
          * @since 1.9
-	 */
-	public abstract void verify(File path, Revision start, Revision end,
+     */
+    public abstract void verify(File path, Revision start, Revision end,
                 boolean keepGoing, boolean checkNormalization,
                 boolean metadataOnly,
                 ReposNotifyCallback callback)
             throws ClientException;
 
-	/**
-	 * Verify the repository at <code>path</code> between revisions
-	 * <code>start</code> and <code>end</code>.
-	 *
-	 * @param path              the path to the repository
-	 * @param start             the first revision
-	 * @param end               the last revision
+    /**
+     * Verify the repository at <code>path</code> between revisions
+     * <code>start</code> and <code>end</code>.
+     *
+     * @param path              the path to the repository
+     * @param start             the first revision
+     * @param end               the last revision
          * @param callback          the callback to receive notifications
-	 * @throws ClientException If an error occurred.
-	 */
-	public abstract void verify(File path, Revision start, Revision end,
+     * @throws ClientException If an error occurred.
+     */
+    public abstract void verify(File path, Revision start, Revision end,
                 ReposNotifyCallback callback)
             throws ClientException;
 
-	/**
-	 * list all locks in the repository
-	 * @param path              the path to the repository
+    /**
+     * list all locks in the repository
+     * @param path              the path to the repository
      * @param depth             the depth to recurse
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract Set<Lock> lslocks(File path, Depth depth)
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract Set<Lock> lslocks(File path, Depth depth)
             throws ClientException;
 
-	/**
-	 * remove multiple locks from the repository
-	 * @param path              the path to the repository
-	 * @param locks             the name of the locked items
-	 * @throws ClientException  throw in case of problem
-	 */
-	public abstract void rmlocks(File path, String[] locks)
-			throws ClientException;
+    /**
+     * remove multiple locks from the repository
+     * @param path              the path to the repository
+     * @param locks             the name of the locked items
+     * @throws ClientException  throw in case of problem
+     */
+    public abstract void rmlocks(File path, String[] locks)
+            throws ClientException;
 
     /**
      * upgrade the repository format
      * @param path              the path to the repository
      * @param callback          for notification
-	 * @throws ClientException  throw in case of problem
+     * @throws ClientException  throw in case of problem
      */
     public abstract void upgrade(File path, ReposNotifyCallback callback)
-			throws ClientException;
+            throws ClientException;
 
     /**
      * pack the repository
      * @param path              the path to the repository
      * @param callback          for notification
-	 * @throws ClientException  throw in case of problem
+     * @throws ClientException  throw in case of problem
      */
     public abstract void pack(File path, ReposNotifyCallback callback)
-			throws ClientException;
+            throws ClientException;
 
     /**
      * cancel the active operation

Modified: subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java Wed Feb 25 08:15:39 2015
@@ -142,10 +142,10 @@ public class NativeResources
     private static final void init()
     {
         version = new Version();
-        if (!version.isAtLeast(1, 9, 0))
+        if (!version.isAtLeast(1, 10, 0))
         {
             throw new LinkageError("Native library version must be at least " +
-                                   "1.9.0, but is only " + version);
+                                   "1.10.0, but is only " + version);
         }
 
         runtimeVersion = new RuntimeVersion();

Modified: subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Wed Feb 25 08:15:39 2015
@@ -240,11 +240,24 @@ public class SVNClient implements ISVNCl
 
     public native void copy(List<CopySource> sources, String destPath,
                             boolean copyAsChild, boolean makeParents,
-                            boolean ignoreExternals,
+                            boolean ignoreExternals, boolean metadataOnly,
+                            boolean pinExternals,
+                            Map<String, List<ExternalItem>> externalsToPin,
                             Map<String, String> revpropTable,
                             CommitMessageCallback handler, CommitCallback callback)
             throws ClientException;
 
+    public void copy(List<CopySource> sources, String destPath,
+                     boolean copyAsChild, boolean makeParents,
+                     boolean ignoreExternals,
+                     Map<String, String> revpropTable,
+                     CommitMessageCallback handler, CommitCallback callback)
+            throws ClientException
+    {
+        copy(sources, destPath, copyAsChild, makeParents, ignoreExternals,
+             false, false, null, revpropTable, handler, callback);
+    }
+
     public native void move(Set<String> srcPaths, String destPath,
                             boolean force, boolean moveAsChild,
                             boolean makeParents, boolean metadataOnly,

Modified: subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Wed Feb 25 08:15:39 2015
@@ -2418,18 +2418,18 @@ public class SVNClient implements SVNCli
     {
         try
         {
-        	final List<org.apache.subversion.javahl.types.Info> infos =
-        		new ArrayList<org.apache.subversion.javahl.types.Info>();
-        	aSVNClient.info2(path,
-        					org.apache.subversion.javahl.types.Revision.HEAD,
-        					org.apache.subversion.javahl.types.Revision.HEAD,
-        					org.apache.subversion.javahl.types.Depth.empty,
-        				    null, new org.apache.subversion.javahl.callback.InfoCallback()
-        	{
-				public void singleInfo(org.apache.subversion.javahl.types.Info info) {
-					infos.add(info);
-				}
-        	});
+            final List<org.apache.subversion.javahl.types.Info> infos =
+                new ArrayList<org.apache.subversion.javahl.types.Info>();
+            aSVNClient.info2(path,
+                            org.apache.subversion.javahl.types.Revision.HEAD,
+                            org.apache.subversion.javahl.types.Revision.HEAD,
+                            org.apache.subversion.javahl.types.Depth.empty,
+                            null, new org.apache.subversion.javahl.callback.InfoCallback()
+            {
+                public void singleInfo(org.apache.subversion.javahl.types.Info info) {
+                    infos.add(info);
+                }
+            });
             return new Info(infos.get(0));
         }
         catch (org.apache.subversion.javahl.ClientException ex)

Modified: subversion/branches/reuse-ra-session/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Wed Feb 25 08:15:39 2015
@@ -269,7 +269,7 @@ public class BasicTests extends SVNTests
         }
         catch(JNIError e)
         {
-	        return; // Test passes!
+            return; // Test passes!
         }
         fail("A JNIError should have been thrown here.");
     }
@@ -1060,7 +1060,7 @@ public class BasicTests extends SVNTests
         }
         client.copy(sources,
                     new File(thisTest.getWorkingCopy(), "A/B/F").getPath(),
-                    true, false, false, null, null, null);
+                    true, false, false, false, false, null, null, null, null);
 
         // Commit the changes, and check the state of the WC.
         checkCommitRevision(thisTest,
@@ -1077,7 +1077,7 @@ public class BasicTests extends SVNTests
                                         "A/B").getPath(), Revision.WORKING,
                                     Revision.WORKING));
         client.copy(wcSource, thisTest.getUrl() + "/parent/A/B",
-                    true, true, false, null,
+                    true, true, false, false, false, null, null,
                     new ConstMsg("Copy WC to URL"), null);
 
         // update the WC to get new folder and confirm the copy
@@ -1085,6 +1085,178 @@ public class BasicTests extends SVNTests
                      update(thisTest), 3);
     }
 
+
+    // Set up externals references in the working copy for the
+    // pin-externals tests.
+    private void setupPinExternalsTest(OneTest thisTest) throws Throwable
+    {
+        byte[] extref = ("^/A/D/H ADHext\n" +
+                         "^/A/D/H@1 peggedADHext\n" +
+                         "-r1 ^/A/D/H revvedADHext\n").getBytes();
+        Set<String> paths = new HashSet<String>();
+        paths.add(thisTest.getWCPath() + "/A/B");
+
+        // Add an externals reference to the working copy.
+        client.propertySetLocal(paths, "svn:externals", extref,
+                                Depth.empty, null, false);
+
+        // Commit the externals definition
+        client.commit(thisTest.getWCPathSet(), Depth.infinity,
+                      false, false, null, null,
+                      new ConstMsg("Set svn:externals"), null);
+
+        // Update the working copy to bring in the external subtree.
+        client.update(thisTest.getWCPathSet(), Revision.HEAD,
+                      Depth.unknown, false, false, false, false);
+    }
+
+    /**
+     * Test WC-to-WC copy with implicit pinned externals
+     * @throws Throwable
+     */
+    public void testCopyPinExternals_wc2wc() throws Throwable
+    {
+        // build the test setup
+        OneTest thisTest = new OneTest();
+        setupPinExternalsTest(thisTest);
+
+        List<CopySource> sources = new ArrayList<CopySource>(1);
+        sources.add(new CopySource(thisTest.getWCPath() + "/A/B", null, null));
+        String target = thisTest.getWCPath() + "/A/Bcopy";
+        client.copy(sources, target, true, false, false, false,
+                    true,       // pinExternals
+                    null,       // externalsToPin
+                    null, null, null);
+
+        // Verification
+        String expected = ("^/A/D/H@2 ADHext\n" +
+                           "^/A/D/H@1 peggedADHext\n" +
+                           "-r1 ^/A/D/H@2 revvedADHext\n");
+        String actual =
+            new String(client.propertyGet(target, "svn:externals", null, null));
+
+        assertEquals(expected, actual);
+    }
+
+    /**
+     * Test WC-to-REPO copy with implicit pinned externals
+     * @throws Throwable
+     */
+    public void testCopyPinExternals_wc2repo() throws Throwable
+    {
+        // build the test setup
+        OneTest thisTest = new OneTest();
+        setupPinExternalsTest(thisTest);
+
+        List<CopySource> sources = new ArrayList<CopySource>(1);
+        sources.add(new CopySource(thisTest.getWCPath() + "/A/B", null, null));
+        String target = thisTest.getUrl() + "/A/Bcopy";
+        client.copy(sources, target, true, false, false, false,
+                    true,       // pinExternals
+                    null,       // externalsToPin
+                    null, new ConstMsg("Copy WC to REPO"), null);
+
+        // Verification
+        String expected = ("^/A/D/H@2 ADHext\n" +
+                           "^/A/D/H@1 peggedADHext\n" +
+                           "-r1 ^/A/D/H@2 revvedADHext\n");
+        String actual =
+            new String(client.propertyGet(target, "svn:externals", null, null));
+
+        assertEquals(expected, actual);
+    }
+
+    /**
+     * Test REPO-to-WC copy with implicit pinned externals
+     * @throws Throwable
+     */
+    public void testCopyPinExternals_repo2wc() throws Throwable
+    {
+        // build the test setup
+        OneTest thisTest = new OneTest();
+        setupPinExternalsTest(thisTest);
+
+        List<CopySource> sources = new ArrayList<CopySource>(1);
+        sources.add(new CopySource(thisTest.getUrl() + "/A/B", null, null));
+        String target = thisTest.getWCPath() + "/A/Bcopy";
+        client.copy(sources, target, true, false, false, false,
+                    true,       // pinExternals
+                    null,       // externalsToPin
+                    null, null, null);
+
+        // Verification
+        String expected = ("^/A/D/H@2 ADHext\n" +
+                           "^/A/D/H@1 peggedADHext\n" +
+                           "-r1 ^/A/D/H@2 revvedADHext\n");
+        String actual =
+            new String(client.propertyGet(target, "svn:externals", null, null));
+
+        assertEquals(expected, actual);
+    }
+
+    /**
+     * Test REPO-to-REPO copy with implicit pinned externals
+     * @throws Throwable
+     */
+    public void testCopyPinExternals_repo2repo() throws Throwable
+    {
+        // build the test setup
+        OneTest thisTest = new OneTest();
+        setupPinExternalsTest(thisTest);
+
+        List<CopySource> sources = new ArrayList<CopySource>(1);
+        sources.add(new CopySource(thisTest.getUrl() + "/A/B", null, null));
+        String target = thisTest.getUrl() + "/A/Bcopy";
+        client.copy(sources, target, true, false, false, false,
+                    true,       // pinExternals
+                    null,       // externalsToPin
+                    null, new ConstMsg("Copy WC to REPO"), null);
+
+        // Verification
+        String expected = ("^/A/D/H@2 ADHext\n" +
+                           "^/A/D/H@1 peggedADHext\n" +
+                           "-r1 ^/A/D/H@2 revvedADHext\n");
+        String actual =
+            new String(client.propertyGet(target, "svn:externals", null, null));
+
+        assertEquals(expected, actual);
+    }
+
+    /**
+     * Test REPO-to-REPO copy with eplicit pinned externals
+     * @throws Throwable
+     */
+    public void testCopyPinExternals_repo2repo_explicit() throws Throwable
+    {
+        // build the test setup
+        OneTest thisTest = new OneTest();
+        setupPinExternalsTest(thisTest);
+
+        String sourceUrl = thisTest.getUrl() + "/A/B";
+        Map<String, List<ExternalItem>> externalsToPin =
+            new HashMap<String, List<ExternalItem>>();
+        List<ExternalItem> items = new ArrayList<ExternalItem>(1);
+        items.add(new ExternalItem("ADHext", "^/A/D/H", null, null));
+        externalsToPin.put(sourceUrl, items);
+
+        List<CopySource> sources = new ArrayList<CopySource>(1);
+        sources.add(new CopySource(sourceUrl, null, null));
+        String target = thisTest.getUrl() + "/A/Bcopy";
+        client.copy(sources, target, true, false, false, false,
+                    true,       // pinExternals
+                    externalsToPin,
+                    null, new ConstMsg("Copy WC to REPO"), null);
+
+        // Verification
+        String expected = ("^/A/D/H@2 ADHext\n" +
+                           "^/A/D/H@1 peggedADHext\n" +
+                           "-r1 ^/A/D/H revvedADHext\n");
+        String actual =
+            new String(client.propertyGet(target, "svn:externals", null, null));
+
+        assertEquals(expected, actual);
+    }
+
     /**
      * Test the {@link SVNClientInterface.move()} API.
      * @since 1.5
@@ -3003,7 +3175,7 @@ public class BasicTests extends SVNTests
         srcs.add(new CopySource(thisTest.getUrl() + "/A", Revision.HEAD,
                                 Revision.HEAD));
         client.copy(srcs, thisTest.getUrl() + "/branches/A",
-                    true, false, false, null,
+                    true, false, false, false, false, null, null,
                     new ConstMsg("create A branch"), null);
 
         // update the WC (to r3) so that it has the branches folder
@@ -3046,7 +3218,7 @@ public class BasicTests extends SVNTests
                              // Do nothing, right now.
                             return false;
                          }
-    	});
+        });
     }
 
     /**

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c Wed Feb 25 08:15:39 2015
@@ -130,11 +130,11 @@ static void *convert_pl_revision_range(S
         /* this will assign to range */
         SWIG_ConvertPtr(value, (void **)&range, _SWIG_TYPE("svn_opt_revision_range_t *"), 0);
         return range;
-    } 
+    }
 
-    if (SvROK(value) 
+    if (SvROK(value)
         && SvTYPE(SvRV(value)) == SVt_PVAV
-        && av_len((AV *)SvRV(value)) == 1) {    
+        && av_len((AV *)SvRV(value)) == 1) {
         /* value is a two-element ARRAY */
         AV* array = (AV *)SvRV(value);
         svn_opt_revision_t temp_start, temp_end;
@@ -143,17 +143,17 @@ static void *convert_pl_revision_range(S
 
         /* Note: Due to how svn_swig_pl_set_revision works,
          * either the passed in svn_opt_revision_t is modified
-         * (and the original pointer returned) or a different pointer 
+         * (and the original pointer returned) or a different pointer
          * is returned. svn_swig_pl_set_revision may return NULL
          * only if croak_on_error is FALSE.
          */
-        start = svn_swig_pl_set_revision(&temp_start, 
-                                         *av_fetch(array, 0, 0), 
+        start = svn_swig_pl_set_revision(&temp_start,
+                                         *av_fetch(array, 0, 0),
                                          croak_on_error, pool);
         if (start == NULL)
             return NULL;
-        end = svn_swig_pl_set_revision(&temp_end, 
-                                       *av_fetch(array, 1, 0), 
+        end = svn_swig_pl_set_revision(&temp_end,
+                                       *av_fetch(array, 1, 0),
                                        croak_on_error, pool);
         if (end == NULL)
             return NULL;
@@ -163,7 +163,7 @@ static void *convert_pl_revision_range(S
         range->start = *start;
         range->end = *end;
         return range;
-    } 
+    }
 
     if (croak_on_error)
         croak("unknown revision range: "
@@ -283,7 +283,7 @@ apr_array_header_t *svn_swig_pl_objs_to_
 }
 
 /* Convert a single revision range or an array of revisions ranges
- * Note: We can't simply use svn_swig_pl_to_array() as is, since 
+ * Note: We can't simply use svn_swig_pl_to_array() as is, since
  * it immediatley checks whether source is an array reference and then
  * proceeds to treat this as the "array of ..." case. But a revision range
  * may be specified as a (two-element) array. Hence we first try to
@@ -297,7 +297,7 @@ apr_array_header_t *svn_swig_pl_array_to
     svn_opt_revision_range_t *range;
 
     if ((range = convert_pl_revision_range(source, &croak_on_error, pool))) {
-        apr_array_header_t *temp = apr_array_make(pool, 1, 
+        apr_array_header_t *temp = apr_array_make(pool, 1,
                                                   sizeof(svn_opt_revision_range_t *));
         temp->nelts = 1;
         APR_ARRAY_IDX(temp, 0, svn_opt_revision_range_t *) = range;
@@ -306,7 +306,7 @@ apr_array_header_t *svn_swig_pl_array_to
 
     if (SvROK(source) && SvTYPE(SvRV(source)) == SVt_PVAV) {
         croak_on_error = TRUE;
-        return svn_swig_pl_to_array(source, convert_pl_revision_range, 
+        return svn_swig_pl_to_array(source, convert_pl_revision_range,
                                     &croak_on_error, pool);
     }
 
@@ -314,7 +314,7 @@ apr_array_header_t *svn_swig_pl_array_to
 
     /* This return is actually unreachable because of the croak above,
      * however, Visual Studio's compiler doesn't like if all paths don't have
-     * a return and errors out otherwise. */ 
+     * a return and errors out otherwise. */
     return NULL;
 }
 
@@ -430,8 +430,8 @@ SV *svn_swig_pl_revnums_to_list(const ap
 }
 
 /* perl -> c svn_opt_revision_t conversion */
-svn_opt_revision_t *svn_swig_pl_set_revision(svn_opt_revision_t *rev, 
-                                             SV *source, 
+svn_opt_revision_t *svn_swig_pl_set_revision(svn_opt_revision_t *rev,
+                                             SV *source,
                                              svn_boolean_t croak_on_error,
                                              apr_pool_t *pool)
 {
@@ -471,7 +471,7 @@ svn_opt_revision_t *svn_swig_pl_set_revi
                 maybe_croak(("unknown opt_revision_t string \"%s\": "
                              "missing closing brace for \"{DATE}\"", input));
             *end = '\0';
-            err = svn_parse_date (&matched, &tm, 
+            err = svn_parse_date (&matched, &tm,
                                   input + 1, apr_time_now(), pool);
             if (err) {
                 svn_error_clear (err);
@@ -1043,7 +1043,7 @@ svn_error_t *svn_swig_pl_thunk_log_entry
 
     svn_swig_pl_callback_thunk(CALL_SV,
                                receiver, NULL,
-                               "SS", 
+                               "SS",
                                log_entry, _SWIG_TYPE("svn_log_entry_t *"),
                                pool, POOLINFO);
 

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h Wed Feb 25 08:15:39 2015
@@ -108,7 +108,7 @@ SV *svn_swig_pl_convert_array(const apr_
 
 SV *svn_swig_pl_revnums_to_list(const apr_array_header_t *array);
 
-svn_opt_revision_t *svn_swig_pl_set_revision(svn_opt_revision_t *rev, 
+svn_opt_revision_t *svn_swig_pl_set_revision(svn_opt_revision_t *rev,
                                              SV *source,
                                              svn_boolean_t croak_on_error,
                                              apr_pool_t *pool);
@@ -135,9 +135,9 @@ svn_error_t * svn_swig_pl_thunk_client_d
 
 /* thunked commit editor callback. */
 svn_error_t *svn_swig_pl_thunk_commit_callback(svn_revnum_t new_revision,
-					       const char *date,
-					       const char *author,
-					       void *baton);
+                                               const char *date,
+                                               const char *author,
+                                               void *baton);
 
 /* thunked commit editor callback2. */
 svn_error_t *svn_swig_pl_thunk_commit_callback2(const svn_commit_info_t *commit_info,
@@ -219,12 +219,12 @@ svn_error_t *thunk_get_wc_prop(void *bat
 /* Thunked version of svn_wc_notify_func_t callback type */
 void svn_swig_pl_notify_func(void * baton,
                              const char *path,
-		             svn_wc_notify_action_t action,
-			     svn_node_kind_t kind,
-			     const char *mime_type,
-			     svn_wc_notify_state_t content_state,
-			     svn_wc_notify_state_t prop_state,
-			     svn_revnum_t revision);
+                             svn_wc_notify_action_t action,
+                             svn_node_kind_t kind,
+                             const char *mime_type,
+                             svn_wc_notify_state_t content_state,
+                             svn_wc_notify_state_t prop_state,
+                             svn_revnum_t revision);
 
 
 /* Thunked version of svn_client_get_commit_log3_t callback type. */

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Wed Feb 25 08:15:39 2015
@@ -1417,62 +1417,62 @@ commit_item_array_to_list(const apr_arra
 }
 
 
-
+ 
 /*** Errors ***/
 
 /* Convert a given SubversionException to an svn_error_t. On failure returns
    NULL and sets a Python exception. */
 static svn_error_t *exception_to_error(PyObject * exc)
 {
-	const char *message, *file = NULL;
-	apr_status_t apr_err;
-	long line = 0;
-	PyObject *apr_err_ob = NULL, *child_ob = NULL, *message_ob = NULL;
-	PyObject *file_ob = NULL, *line_ob = NULL;
+    const char *message, *file = NULL;
+    apr_status_t apr_err;
+    long line = 0;
+    PyObject *apr_err_ob = NULL, *child_ob = NULL, *message_ob = NULL;
+    PyObject *file_ob = NULL, *line_ob = NULL;
     svn_error_t *rv = NULL, *child = NULL;
 
-	if ((apr_err_ob = PyObject_GetAttrString(exc, "apr_err")) == NULL)
-	    goto finished;
-	apr_err = (apr_status_t) PyInt_AsLong(apr_err_ob);
-	if (PyErr_Occurred()) goto finished;
-
-	if ((message_ob = PyObject_GetAttrString(exc, "message")) == NULL)
-	    goto finished;
-	message = PyString_AsString(message_ob);
-	if (PyErr_Occurred()) goto finished;
-
-	if ((file_ob = PyObject_GetAttrString(exc, "file")) == NULL)
-	    goto finished;
-	if (file_ob != Py_None)
-	    file = PyString_AsString(file_ob);
-	if (PyErr_Occurred()) goto finished;
-
-	if ((line_ob = PyObject_GetAttrString(exc, "line")) == NULL)
-	    goto finished;
-	if (line_ob != Py_None)
-	    line = PyInt_AsLong(line_ob);
-	if (PyErr_Occurred()) goto finished;
-
-	if ((child_ob = PyObject_GetAttrString(exc, "child")) == NULL)
-	    goto finished;
-	/* We could check if the child is a Subversion exception too,
-	   but let's just apply duck typing. */
-	if (child_ob != Py_None)
-	    child = exception_to_error(child_ob);
-	if (PyErr_Occurred()) goto finished;
-
-	rv = svn_error_create(apr_err, child, message);
-	/* Somewhat hacky, but we need to preserve original file/line info. */
-	rv->file = file ? apr_pstrdup(rv->pool, file) : NULL;
-	rv->line = line;
+    if ((apr_err_ob = PyObject_GetAttrString(exc, "apr_err")) == NULL)
+        goto finished;
+    apr_err = (apr_status_t) PyInt_AsLong(apr_err_ob);
+    if (PyErr_Occurred()) goto finished;
+
+    if ((message_ob = PyObject_GetAttrString(exc, "message")) == NULL)
+        goto finished;
+    message = PyString_AsString(message_ob);
+    if (PyErr_Occurred()) goto finished;
+
+    if ((file_ob = PyObject_GetAttrString(exc, "file")) == NULL)
+        goto finished;
+    if (file_ob != Py_None)
+        file = PyString_AsString(file_ob);
+    if (PyErr_Occurred()) goto finished;
+
+    if ((line_ob = PyObject_GetAttrString(exc, "line")) == NULL)
+        goto finished;
+    if (line_ob != Py_None)
+        line = PyInt_AsLong(line_ob);
+    if (PyErr_Occurred()) goto finished;
+
+    if ((child_ob = PyObject_GetAttrString(exc, "child")) == NULL)
+        goto finished;
+    /* We could check if the child is a Subversion exception too,
+       but let's just apply duck typing. */
+    if (child_ob != Py_None)
+        child = exception_to_error(child_ob);
+    if (PyErr_Occurred()) goto finished;
+
+    rv = svn_error_create(apr_err, child, message);
+    /* Somewhat hacky, but we need to preserve original file/line info. */
+    rv->file = file ? apr_pstrdup(rv->pool, file) : NULL;
+    rv->line = line;
 
 finished:
-	Py_XDECREF(child_ob);
-	Py_XDECREF(line_ob);
-	Py_XDECREF(file_ob);
-	Py_XDECREF(message_ob);
-	Py_XDECREF(apr_err_ob);
-	return rv;
+    Py_XDECREF(child_ob);
+    Py_XDECREF(line_ob);
+    Py_XDECREF(file_ob);
+    Py_XDECREF(message_ob);
+    Py_XDECREF(apr_err_ob);
+    return rv;
 }
 
 /* If the currently set Python exception is a valid SubversionException,
@@ -2376,7 +2376,7 @@ static svn_error_t *parse_fn3_close_revi
 }
 
 
-static const svn_repos_parse_fns3_t thunk_parse_fns3_vtable = 
+static const svn_repos_parse_fns3_t thunk_parse_fns3_vtable =
   {
     parse_fn3_magic_header_record,
     parse_fn3_uuid_record,
@@ -3761,7 +3761,7 @@ ra_callbacks_open_tmp_file(apr_file_t **
       *fp = svn_swig_py_make_file(result, pool);
       if (*fp == NULL)
        {
-      	  err = callback_exception_error();
+          err = callback_exception_error();
        }
     }
 
@@ -3811,7 +3811,7 @@ ra_callbacks_get_wc_prop(void *baton,
       Py_ssize_t len;
       if (PyString_AsStringAndSize(result, &buf, &len) == -1)
         {
-      	  err = callback_exception_error();
+          err = callback_exception_error();
         }
       else
         {
@@ -4053,7 +4053,7 @@ ra_callbacks_get_client_string(void *bat
     {
       if ((*name = PyString_AsString(result)) == NULL)
         {
-      	  err = callback_exception_error();
+          err = callback_exception_error();
         }
     }
 

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c Wed Feb 25 08:15:39 2015
@@ -481,9 +481,9 @@ static void
 check_apr_status(apr_status_t status, VALUE exception_class, const char *format)
 {
     if (status != APR_SUCCESS) {
-	char buffer[1024];
-	apr_strerror(status, buffer, sizeof(buffer) - 1);
-	rb_raise(exception_class, format, buffer);
+        char buffer[1024];
+        apr_strerror(status, buffer, sizeof(buffer) - 1);
+        rb_raise(exception_class, format, buffer);
     }
 }
 
@@ -526,8 +526,8 @@ svn_swig_rb_destroyer_destroy(VALUE self
 
     objects[0] = target;
     if (find_swig_type_object(1, objects) && DATA_PTR(target)) {
-	svn_swig_rb_destroy_internal_pool(target);
-	DATA_PTR(target) = NULL;
+        svn_swig_rb_destroy_internal_pool(target);
+        DATA_PTR(target) = NULL;
     }
 
     return Qnil;
@@ -545,9 +545,9 @@ svn_swig_rb_initialize(void)
   }
 
   check_apr_status(apr_allocator_create(&swig_rb_allocator),
-		   rb_eLoadError, "failed to create allocator: %s");
+                   rb_eLoadError, "failed to create allocator: %s");
   apr_allocator_max_free_set(swig_rb_allocator,
-			     SVN_ALLOCATOR_RECOMMENDED_MAX_FREE);
+                             SVN_ALLOCATOR_RECOMMENDED_MAX_FREE);
 
   swig_rb_pool = svn_pool_create_ex(NULL, swig_rb_allocator);
   apr_pool_tag(swig_rb_pool, "svn-ruby-pool");
@@ -556,8 +556,8 @@ svn_swig_rb_initialize(void)
     apr_thread_mutex_t *mutex;
 
     check_apr_status(apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_DEFAULT,
-					     swig_rb_pool),
-		     rb_eLoadError, "failed to create allocator: %s");
+                                             swig_rb_pool),
+                                             rb_eLoadError, "failed to create allocator: %s");
     apr_allocator_mutex_set(swig_rb_allocator, mutex);
   }
 #endif
@@ -590,7 +590,7 @@ svn_swig_rb_initialize(void)
 
   mSvnDestroyer = rb_define_module_under(rb_svn(), "Destroyer");
   rb_define_module_function(mSvnDestroyer, "destroy",
-			    svn_swig_rb_destroyer_destroy, 1);
+                            svn_swig_rb_destroyer_destroy, 1);
 }
 
 apr_pool_t *
@@ -743,7 +743,7 @@ static svn_boolean_t
 rb_set_pool_if_swig_type_object(VALUE target, VALUE pool)
 {
   VALUE targets[1];
-  
+
   targets[0] = target;
 
   if (!NIL_P(find_swig_type_object(1, targets))) {
@@ -869,7 +869,7 @@ svn_swig_rb_raise_svn_repos_already_clos
 
 VALUE
 svn_swig_rb_svn_error_new(VALUE code, VALUE message, VALUE file, VALUE line,
-			  VALUE child)
+                          VALUE child)
 {
   return rb_funcall(rb_svn_error_svn_error(),
                     id_new_corresponding_error,

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/test_fs.rb
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/test_fs.rb?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/test_fs.rb (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/test_fs.rb Wed Feb 25 08:15:39 2015
@@ -110,7 +110,7 @@ class SvnFsTest < Test::Unit::TestCase
     FileUtils.mkdir_p(fs_path)
 
     make_context(log) do |ctx|
-      # ### Verify Svn::Error::RaLocalReposOpenFailed in chain 
+      # ### Verify Svn::Error::RaLocalReposOpenFailed in chain
       assert_raises(Svn::Error::RaCannotCreateSession) do
         ctx.log_message(path, rev)
       end

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/util.rb?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/util.rb (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/util.rb Wed Feb 25 08:15:39 2015
@@ -1,4 +1,4 @@
-# ==================================================================== 
+# ====================================================================
 #    Licensed to the Apache Software Foundation (ASF) under one
 #    or more contributor license agreements.  See the NOTICE file
 #    distributed with this work for additional information
@@ -91,7 +91,7 @@ module SvnTestUtil
     @need_svnserve = need_svnserve
     setup_default_variables
     setup_tmp
-    setup_tmp(@import_path) 
+    setup_tmp(@import_path)
     setup_repository
     add_hooks
     setup_svnserve if @need_svnserve

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/windows_util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/windows_util.rb?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/windows_util.rb (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/ruby/test/windows_util.rb Wed Feb 25 08:15:39 2015
@@ -51,7 +51,7 @@ module SvnTestUtil
 
           IO.popen("#{svnserve_path} -d -r #{Svnserve.escape_value(root)} --listen-host #{@svnserve_host} --listen-port #{@svnserve_port} --pid-file #{@svnserve_pid_file}")
           user = ENV["USERNAME"] || Etc.getlogin
-          
+
           # Give svnserve a bit of time to start
           sleep 1
         end

Modified: subversion/branches/reuse-ra-session/subversion/bindings/swig/svn_wc.i
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/bindings/swig/svn_wc.i?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/bindings/swig/svn_wc.i (original)
+++ subversion/branches/reuse-ra-session/subversion/bindings/swig/svn_wc.i Wed Feb 25 08:15:39 2015
@@ -43,6 +43,7 @@
 /* ### ignore these structures because the accessors will need a pool */
 %ignore svn_wc_keywords_t;
 %ignore svn_wc_conflict_description2_t;
+%ignore svn_wc_conflict_result_t;
 
 #ifdef SWIGRUBY
 %ignore svn_wc_external_item_create;

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_cache.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_cache.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_cache.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_cache.h Wed Feb 25 08:15:39 2015
@@ -542,6 +542,15 @@ svn_cache__get_global_membuffer_cache(vo
 svn_cache__info_t *
 svn_cache__membuffer_get_global_info(apr_pool_t *pool);
 
+/**
+ * Remove all current contents from CACHE.
+ *
+ * NOTE:  In a multi-threaded environment, new contents may have been put
+ * into the cache by the time this function returns.
+ */
+svn_error_t *
+svn_cache__membuffer_clear(svn_membuffer_t *cache);
+
 /** @} */
 
 

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_fs_fs_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_fs_fs_private.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_fs_fs_private.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_fs_fs_private.h Wed Feb 25 08:15:39 2015
@@ -296,7 +296,7 @@ typedef struct svn_fs_fs__p2l_entry_t
 {
   /* offset of the first byte that belongs to the item */
   apr_off_t offset;
-  
+
   /* length of the item in bytes */
   apr_off_t size;
 

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_packed_data.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_packed_data.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_packed_data.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_packed_data.h Wed Feb 25 08:15:39 2015
@@ -221,7 +221,7 @@ svn_packed__byte_count(svn_packed__byte_
 /* Return the next number from STREAM as unsigned integer.  Returns 0 when
  * reading beyond the end of the stream.
  */
-apr_uint64_t 
+apr_uint64_t
 svn_packed__get_uint(svn_packed__int_stream_t *stream);
 
 /* Return the next number from STREAM as signed integer.  Returns 0 when

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_repos_private.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_repos_private.h Wed Feb 25 08:15:39 2015
@@ -164,7 +164,7 @@ typedef struct svn_repos__config_pool_t
 
 /* Create a new configuration pool object with a lifetime determined by
  * POOL and return it in *CONFIG_POOL.
- * 
+ *
  * The THREAD_SAFE flag indicates whether the pool actually needs to be
  * thread-safe and POOL must be also be thread-safe if this flag is set.
  */
@@ -293,19 +293,13 @@ svn_repos__adjust_mergeinfo_property(svn
                                      apr_pool_t *result_pool,
                                      apr_pool_t *scratch_pool);
 
-/* A header entry.
- *
- * (The headers are currently declared here to be of type apr_array_header_t
- * with svn_repos__dumpfile_header_entry_t entries, but the types could
- * instead be made opaque.)
- */
-typedef struct svn_repos__dumpfile_header_entry_t {
-  const char *key, *val;
-} svn_repos__dumpfile_header_entry_t;
+/* A (nearly) opaque representation of an ordered list of header lines.
+ */
+typedef struct apr_array_header_t svn_repos__dumpfile_headers_t;
 
 /* Create an empty set of headers.
  */
-apr_array_header_t *
+svn_repos__dumpfile_headers_t *
 svn_repos__dumpfile_headers_create(apr_pool_t *pool);
 
 /* Push the header (KEY, VAL) onto HEADERS.
@@ -313,7 +307,7 @@ svn_repos__dumpfile_headers_create(apr_p
  * Duplicate the key and value into HEADERS's pool.
  */
 void
-svn_repos__dumpfile_header_push(apr_array_header_t *headers,
+svn_repos__dumpfile_header_push(svn_repos__dumpfile_headers_t *headers,
                                 const char *key,
                                 const char *val);
 
@@ -322,20 +316,17 @@ svn_repos__dumpfile_header_push(apr_arra
  * Duplicate the key and value into HEADERS's pool.
  */
 void
-svn_repos__dumpfile_header_pushf(apr_array_header_t *headers,
+svn_repos__dumpfile_header_pushf(svn_repos__dumpfile_headers_t *headers,
                                  const char *key,
                                  const char *val_fmt,
                                  ...)
         __attribute__((format(printf, 3, 4)));
 
 /* Write to STREAM the headers in HEADERS followed by a blank line.
- *
- * HEADERS is an array of struct {const char *key, *val;}.
  */
 svn_error_t *
 svn_repos__dump_headers(svn_stream_t *stream,
-                        apr_array_header_t *headers,
-                        svn_boolean_t terminate,
+                        svn_repos__dumpfile_headers_t *headers,
                         apr_pool_t *scratch_pool);
 
 /* Write a revision record to DUMP_STREAM for revision REVISION with revision
@@ -384,7 +375,7 @@ svn_repos__dump_revision_record(svn_stre
  */
 svn_error_t *
 svn_repos__dump_node_record(svn_stream_t *dump_stream,
-                            apr_array_header_t *headers,
+                            svn_repos__dumpfile_headers_t *headers,
                             svn_stringbuf_t *props_str,
                             svn_boolean_t has_text,
                             svn_filesize_t text_content_length,

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_sorts_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_sorts_private.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_sorts_private.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_sorts_private.h Wed Feb 25 08:15:39 2015
@@ -28,7 +28,7 @@
 #ifndef SVN_SORTS_PRIVATE_H
 #define SVN_SORTS_PRIVATE_H
 
-#include "../svn_sorts.h" 
+#include "../svn_sorts.h"
 
 #ifdef __cplusplus
 extern "C" {

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_sqlite.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_sqlite.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_sqlite.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_sqlite.h Wed Feb 25 08:15:39 2015
@@ -63,7 +63,7 @@ typedef enum svn_sqlite__mode_e {
 typedef svn_error_t *(*svn_sqlite__func_t)(svn_sqlite__context_t *sctx,
                                            int argc,
                                            svn_sqlite__value_t *values[],
-                                           apr_pool_t *scatch_pool);
+                                           void *baton);
 
 
 /* Step the given statement; if it returns SQLITE_DONE, reset the statement.

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_subr_private.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_subr_private.h Wed Feb 25 08:15:39 2015
@@ -306,7 +306,7 @@ svn__fnv1a_32(const void *input, apr_siz
 /**
  * Return a 32 bit modified FNV-1a checksum for the first @a len bytes in
  * @a input.
- * 
+ *
  * @note This is a proprietary checksumming algorithm based FNV-1a with
  *       approximately the same strength.  It is up to 4 times faster
  *       than plain FNV-1a for longer data blocks.
@@ -416,7 +416,7 @@ typedef struct svn_hash__entry_t
 /** Reads a single key-value pair from @a stream and returns it in the
  * caller-provided @a *entry (members don't need to be pre-initialized).
  * @a pool is used to allocate members of @a *entry and for tempoaries.
- * 
+ *
  * @see #svn_hash_read2 for more details.
  *
  * @since New in 1.9.
@@ -652,7 +652,7 @@ svn_config__get_default_config(apr_hash_
  */
 
 /* This opaque data struct is an alternative to an INT->VOID hash.
- * 
+ *
  * Technically, it is an automatically growing packed bit array.
  * All indexes not previously set are implicitly 0 and setting it will
  * grow the array as needed.

Modified: subversion/branches/reuse-ra-session/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/private/svn_wc_private.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/private/svn_wc_private.h Wed Feb 25 08:15:39 2015
@@ -380,15 +380,13 @@ svn_wc__status2_from_3(svn_wc_status2_t
                        apr_pool_t *result_pool,
                        apr_pool_t *scratch_pool);
 
-
 /**
  * Set @a *children to a new array of the immediate children of the working
  * node at @a dir_abspath.  The elements of @a *children are (const char *)
  * absolute paths.
  *
- * Include children that are scheduled for deletion.  Iff @a show_hidden
- * is true, also include children that are 'excluded' or 'server-excluded' or
- * 'not-present'.
+ * Include children that are scheduled for deletion, but not those that
+ * are excluded, server-excluded or not-present.
  *
  * Return every path that refers to a child of the working node at
  * @a dir_abspath.  Do not include a path just because it was a child of a
@@ -402,24 +400,20 @@ svn_error_t *
 svn_wc__node_get_children_of_working_node(const apr_array_header_t **children,
                                           svn_wc_context_t *wc_ctx,
                                           const char *dir_abspath,
-                                          svn_boolean_t show_hidden,
                                           apr_pool_t *result_pool,
                                           apr_pool_t *scratch_pool);
 
 /**
- * Like svn_wc__node_get_children_of_working_node(), except also include any
- * path that was a child of a deleted directory that existed at
- * @a dir_abspath, even if that directory is now scheduled to be replaced by
- * the working node at @a dir_abspath.
+ * Gets the immediate 'not-present' children of a node.
+ *
+ * #### Needed during 'svn cp WC URL' to handle mixed revision cases
  */
 svn_error_t *
-svn_wc__node_get_children(const apr_array_header_t **children,
-                          svn_wc_context_t *wc_ctx,
-                          const char *dir_abspath,
-                          svn_boolean_t show_hidden,
-                          apr_pool_t *result_pool,
-                          apr_pool_t *scratch_pool);
-
+svn_wc__node_get_not_present_children(const apr_array_header_t **children,
+                                      svn_wc_context_t *wc_ctx,
+                                      const char *dir_abspath,
+                                      apr_pool_t *result_pool,
+                                      apr_pool_t *scratch_pool);
 
 /**
  * Fetch the repository information for the working version
@@ -519,26 +513,6 @@ svn_wc__node_get_origin(svn_boolean_t *i
                         apr_pool_t *scratch_pool);
 
 /**
- * Set @a *deleted_ancestor_abspath to the root of the delete operation
- * that deleted @a local_abspath. If @a local_abspath itself was deleted
- * and has no deleted ancestor, @a *deleted_ancestor_abspath will equal
- * @a local_abspath. If @a local_abspath was not deleted,
- * set @a *deleted_ancestor_abspath to @c NULL.
- *
- * A node is considered 'deleted' if it is deleted or moved-away, and is
- * not replaced.
- *
- * @a *deleted_ancestor_abspath is allocated in @a result_pool.
- * Use @a scratch_pool for all temporary allocations.
- */
-svn_error_t *
-svn_wc__node_get_deleted_ancestor(const char **deleted_ancestor_abspath,
-                                  svn_wc_context_t *wc_ctx,
-                                  const char *local_abspath,
-                                  apr_pool_t *result_pool,
-                                  apr_pool_t *scratch_pool);
-
-/**
  * Set @a *not_present to TRUE when @a local_abspath has status
  * svn_wc__db_status_not_present. Set @a *user_excluded to TRUE when
  * @a local_abspath has status svn_wc__db_status_excluded. Set
@@ -943,15 +917,17 @@ svn_wc__get_excluded_subtrees(apr_hash_t
 
 /* Indicate in @a *is_modified whether the working copy has local
  * modifications, using context @a wc_ctx.
- * Use @a scratch_pool for temporary allocations.
  *
- * This function provides a subset of the functionality of
- * svn_wc_revision_status2() and is more efficient if the caller
- * doesn't need all information returned by svn_wc_revision_status2(). */
+ * If IGNORE_UNVERSIONED, unversioned paths inside the tree rooted by
+ * LOCAL_ABSPATH are not seen as a change, otherwise they are.
+ * (svn:ignored paths are always ignored)
+ *
+ * Use @a scratch_pool for temporary allocations. */
 svn_error_t *
 svn_wc__has_local_mods(svn_boolean_t *is_modified,
                        svn_wc_context_t *wc_ctx,
                        const char *local_abspath,
+                       svn_boolean_t ignore_unversioned,
                        svn_cancel_func_t cancel_func,
                        void *cancel_baton,
                        apr_pool_t *scratch_pool);
@@ -1259,6 +1235,44 @@ svn_wc__resolve_relative_external_url(co
                                       apr_pool_t *result_pool,
                                       apr_pool_t *scratch_pool);
 
+typedef enum svn_wc__external_description_format_t
+{
+  /* LOCALPATH [-r PEG] URL */
+  svn_wc__external_description_format_1 = 0,
+
+  /* [-r REV] URL[@PEG] LOCALPATH, introduced in Subversion 1.5 */
+  svn_wc__external_description_format_2
+} svn_wc__external_description_format_t;
+
+/* Additional information about what the external's parser has parsed. */
+typedef struct svn_wc__externals_parser_info_t
+{
+  /* The syntax format used by the external description. */
+  svn_wc__external_description_format_t format;
+
+  /* The string used for defining the operative revision, i.e.
+     "-rN", "-rHEAD", or "-r{DATE}".
+     NULL if revision was not given. */
+  const char *rev_str;
+
+  /* The string used for defining the peg revision (equals rev_str in
+     format 1, is "@N", or "@HEAD" or "@{DATE}" in format 2).
+     NULL if peg revision was not given. */
+  const char *peg_rev_str;
+
+} svn_wc__externals_parser_info_t;
+
+/* Like svn_wc_parse_externals_description3() but returns an additional array
+ * with elements of type svn_wc__externals_parser_info_t in @a *parser_infos_p.
+ * @a parser_infos_p may be NULL if not required by the caller.
+ */
+svn_error_t *
+svn_wc__parse_externals_description(apr_array_header_t **externals_p,
+                                    apr_array_header_t **parser_infos_p,
+                                    const char *defining_directory,
+                                    const char *desc,
+                                    svn_boolean_t canonicalize_url,
+                                    apr_pool_t *pool);
 
 /**
  * Set @a *editor and @a *edit_baton to an editor that generates
@@ -1816,7 +1830,7 @@ svn_wc__acquire_write_lock_for_resolve(c
  * If ROOT_RELPATH is not NULL, set *ROOT_RELPATH to the target of the diff
  * within the diff namespace. ("" or a single path component).
  *
- * If ROOT_IS_FILE is NOT NULL set it 
+ * If ROOT_IS_FILE is NOT NULL set it
  * the first processor call. (The anchor is LOCAL_ABSPATH or an ancestor of it)
  */
 svn_error_t *

Modified: subversion/branches/reuse-ra-session/subversion/include/svn_auth.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/svn_auth.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/svn_auth.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/svn_auth.h Wed Feb 25 08:15:39 2015
@@ -884,7 +884,7 @@ svn_auth_get_platform_specific_client_pr
  * @note An administrative password reset may invalidate the account's
  * secret key. This function will detect that situation and behave as
  * if the password were not cached at all.
- * @deprecated Provided for backwards compatibility with the 1.8 API.  Use 
+ * @deprecated Provided for backwards compatibility with the 1.8 API.  Use
  * svn_auth_get_platform_specific_provider with provider_name of "windows"
  * and provider_type of "simple".
  */

Modified: subversion/branches/reuse-ra-session/subversion/include/svn_cache_config.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/svn_cache_config.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/svn_cache_config.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/svn_cache_config.h Wed Feb 25 08:15:39 2015
@@ -43,7 +43,7 @@ extern "C" {
 
    @note Do not extend this data structure as this would break binary
          compatibility.
-   
+
    @since New in 1.7.
  */
 typedef struct svn_cache_config_t

Modified: subversion/branches/reuse-ra-session/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/svn_client.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/svn_client.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/svn_client.h Wed Feb 25 08:15:39 2015
@@ -2724,7 +2724,7 @@ svn_client_status(svn_revnum_t *result_r
  *
  * If @a include_merged_revisions is set, log information for revisions
  * which have been merged to @a targets will also be returned.
- * 
+ *
  * If @a revprops is NULL, retrieve all revision properties; else, retrieve
  * only the revision properties named by the (const char *) array elements
  * (i.e. retrieve none if the array is empty).
@@ -4492,6 +4492,41 @@ typedef struct svn_client_copy_source_t
  * If @a ignore_externals is set, don't process externals definitions
  * as part of this operation.
  *
+ * If @a metadata_only is @c TRUE and copying a file in a working copy,
+ * everything in the metadata is updated as if the node is moved, but the
+ * actual disk copy operation is not performed. This feature is useful for
+ * clients that want to keep the working copy in sync while the actual working
+ * copy is updated by some other task.
+ *
+ * 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. 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.
+ *
  * If non-NULL, @a revprop_table is a hash table holding additional,
  * custom revision properties (<tt>const char *</tt> names mapped to
  * <tt>svn_string_t *</tt> values) to be set on the new revision in
@@ -4510,8 +4545,32 @@ typedef struct svn_client_copy_source_t
  * @a commit_callback with @a commit_baton and a #svn_commit_info_t for
  * the commit.
  *
+ * @since New in 1.9.
+ */
+svn_error_t *
+svn_client_copy7(const apr_array_header_t *sources,
+                 const char *dst_path,
+                 svn_boolean_t copy_as_child,
+                 svn_boolean_t make_parents,
+                 svn_boolean_t ignore_externals,
+                 svn_boolean_t metadata_only,
+                 svn_boolean_t pin_externals,
+                 const apr_hash_t *externals_to_pin,
+                 const apr_hash_t *revprop_table,
+                 svn_commit_callback2_t commit_callback,
+                 void *commit_baton,
+                 svn_client_ctx_t *ctx,
+                 apr_pool_t *pool);
+
+/**
+ * Similar to svn_client_copy7(), but doesn't support meta_data_only
+ * and cannot pin externals.
+ * 
+ *
  * @since New in 1.7.
+ * @deprecated Provided for backward compatibility with the 1.8 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_client_copy6(const apr_array_header_t *sources,
                  const char *dst_path,

Modified: subversion/branches/reuse-ra-session/subversion/include/svn_cmdline.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/svn_cmdline.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/svn_cmdline.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/svn_cmdline.h Wed Feb 25 08:15:39 2015
@@ -342,7 +342,7 @@ svn_cmdline_auth_plaintext_passphrase_pr
  *
  * @a trust_server_cert_other_failure: If @c TRUE, accept certificates
  * even if any other verification failure than the above occured.
- * 
+ *
  * @a cfg is the @c SVN_CONFIG_CATEGORY_CONFIG configuration, and
  * @a cancel_func and @a cancel_baton control the cancellation of the
  * prompting providers that are initialized.
@@ -370,7 +370,7 @@ svn_cmdline_create_auth_baton2(svn_auth_
 
 /* Like svn_cmdline_create_auth_baton2, but with only one trust_server_cert
  * option which corresponds to trust_server_cert_unknown_ca.
- * 
+ *
  * @deprecated Provided for backward compatibility with the 1.8 API.
  * @since New in 1.6.
  */

Modified: subversion/branches/reuse-ra-session/subversion/include/svn_diff.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/svn_diff.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/svn_diff.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/svn_diff.h Wed Feb 25 08:15:39 2015
@@ -1056,7 +1056,7 @@ typedef struct svn_diff_hunk_t svn_diff_
 /**
  * Allocate @a *stringbuf in @a result_pool, and read into it one line
  * of the diff text of @a hunk. The hunk header is not returned only the
- * unidiff data lines (starting with '+', '-', or ' ') are returned.  
+ * unidiff data lines (starting with '+', '-', or ' ') are returned.
  * If the @a hunk is being interpreted in reverse (i.e. the reverse
  * parameter of svn_diff_parse_next_patch() was @c TRUE), the diff
  * text will be returned in reversed form.
@@ -1067,7 +1067,7 @@ typedef struct svn_diff_hunk_t svn_diff_
  * Temporary allocations will be performed in @a scratch_pool.
  *
  * @note The hunk header information can be retrieved with the following
- * functions: 
+ * functions:
  * @see svn_diff_hunk_get_original_start()
  * @see svn_diff_hunk_get_original_length()
  * @see svn_diff_hunk_get_modified_start()

Modified: subversion/branches/reuse-ra-session/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/svn_fs.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/svn_fs.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/svn_fs.h Wed Feb 25 08:15:39 2015
@@ -152,7 +152,7 @@ typedef struct svn_fs_t svn_fs_t;
  *
  * It is not ready for general production use.  Please consult the
  * respective release notes on suggested usage scenarios.
- * 
+ *
  * @since New in 1.9.
  */
 #define SVN_FS_TYPE_FSX                         "fsx"
@@ -346,12 +346,12 @@ typedef enum svn_fs_upgrade_notify_actio
   svn_fs_upgrade_format_bumped
 } svn_fs_upgrade_notify_action_t;
 
-/** The type of a upgrade notification function.  @a number is specifc 
+/** The type of a upgrade notification function.  @a number is specifc
  * to @a action (see #svn_fs_upgrade_notify_action_t); @a action is the
  * type of action being performed.  @a baton is the corresponding baton
  * for the notification function, and @a pool can be used for temporary
  * allocations, but will be cleared between invocations.
- * 
+ *
  * @since New in 1.9.
  */
 typedef svn_error_t *(*svn_fs_upgrade_notify_t)(void *baton,
@@ -393,7 +393,7 @@ svn_fs_upgrade2(const char *path,
  * Like svn_fs_upgrade2 but with notify_func, notify_baton, cancel_func
  * and cancel_baton being set to NULL.
  *
- * @deprecated Provided for backward compatibility with the 1.8 API. 
+ * @deprecated Provided for backward compatibility with the 1.8 API.
  * @since New in 1.5.
  */
 SVN_DEPRECATED
@@ -449,7 +449,7 @@ svn_fs_path(svn_fs_t *fs,
  * Return a shallow copy of the configuration parameters used to open
  * @a fs, allocated in @a pool.  It may be @c NULL.  The contents of the
  * hash contents remains valid only for @a fs's lifetime.
- * 
+ *
  * @note This is just what was passed to svn_fs_create() or svn_fs_open().
  * You may not modify it.
  *
@@ -872,7 +872,7 @@ svn_fs_access_add_lock_token(svn_fs_acce
  */
 
 /** Defines the possible ways two arbitrary nodes may be related.
- * 
+ *
  * @since New in 1.9.
  */
 typedef enum svn_fs_node_relation_t
@@ -1137,7 +1137,7 @@ svn_fs_begin_txn(svn_fs_txn_t **txn_p,
  * new revision will have svn:date set to the current time at some
  * point during the commit and any svn:date on the transaction will be
  * lost.
- * 
+ *
  * If @a conflict_p is non-zero, use it to provide details on any
  * conflicts encountered merging @a txn with the most recent committed
  * revisions.  If a conflict occurs, set @a *conflict_p to the path of

Modified: subversion/branches/reuse-ra-session/subversion/include/svn_io.h
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/include/svn_io.h?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/include/svn_io.h (original)
+++ subversion/branches/reuse-ra-session/subversion/include/svn_io.h Wed Feb 25 08:15:39 2015
@@ -693,7 +693,7 @@ svn_io_files_contents_three_same_p(svn_b
  *
  * Use @a pool for memory allocations.
  *
- * @since 
+ * @since
  */
 svn_error_t *
 svn_io_file_create(const char *file,
@@ -720,7 +720,7 @@ svn_io_file_create_bytes(const char *fil
                          apr_pool_t *pool);
 
 /** Create an empty file at utf8-encoded path @a file.
- * 
+ *
  * @a file must not already exist. If an error occurs while
  * closing the file, attempt to delete the file before returning the error.
  *



Mime
View raw message