subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stef...@apache.org
Subject svn commit: r1462850 [2/14] - in /subversion/branches/fsfs-format7: ./ build/ build/ac-macros/ build/generator/ contrib/client-side/svncopy/ notes/ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversi...
Date Sat, 30 Mar 2013 20:02:33 GMT
Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp Sat Mar 30 20:02:27 2013
@@ -241,6 +241,7 @@ Java_org_apache_subversion_javahl_SVNRep
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNRepos_load
 (JNIEnv *env, jobject jthis, jobject jpath, jobject jinputData,
+ jobject jrevisionStart, jobject jrevisionEnd,
  jboolean jignoreUUID, jboolean jforceUUID, jboolean jusePreCommitHook,
  jboolean jusePostCommitHook, jstring jrelativePath, jobject jnotifyCallback)
 {
@@ -264,12 +265,23 @@ Java_org_apache_subversion_javahl_SVNRep
   if (JNIUtil::isExceptionThrown())
     return;
 
+  Revision revisionStart(jrevisionStart);
+  if (JNIUtil::isExceptionThrown())
+    return;
+
+  Revision revisionEnd(jrevisionEnd, true);
+  if (JNIUtil::isExceptionThrown())
+    return;
+
   ReposNotifyCallback notifyCallback(jnotifyCallback);
 
-  cl->load(path, inputData, jignoreUUID ? true : false,
-           jforceUUID ? true : false, jusePreCommitHook ? true : false,
-           jusePostCommitHook ? true : false, relativePath,
-           jnotifyCallback != NULL ? &notifyCallback : NULL);
+  cl->load(path, inputData, revisionStart, revisionEnd,
+           jignoreUUID ? true : false,
+           jforceUUID ? true : false,
+           jusePreCommitHook ? true : false,
+           jusePostCommitHook ? true : false,
+           relativePath,
+           (jnotifyCallback != NULL ? &notifyCallback : NULL));
 }
 
 JNIEXPORT void JNICALL
@@ -317,6 +329,28 @@ Java_org_apache_subversion_javahl_SVNRep
 }
 
 JNIEXPORT void JNICALL
+Java_org_apache_subversion_javahl_SVNRepos_freeze
+(JNIEnv *env, jobject jthis, jobject jaction, jobjectArray jpaths)
+{
+  JNIEntry(SVNRepos, freeze);
+  SVNRepos *cl = SVNRepos::getCppObject(jthis);
+  if (cl == NULL)
+    {
+      JNIUtil::throwError(_("bad C++ this"));
+      return;
+    }
+
+  if (!jpaths || !env->GetArrayLength(jpaths))
+    {
+      JNIUtil::throwError(_("list of repository paths must not be empty"));
+      return;
+    }
+
+  ReposFreezeAction action(jaction);
+  cl->freeze(jpaths, &action);
+}
+
+JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNRepos_rmtxns
 (JNIEnv *env, jobject jthis, jobject jpath, jobjectArray jtransactions)
 {

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Sat Mar 30 20:02:27 2013
@@ -229,12 +229,30 @@ public interface ISVNClient
      *                  ignore patterns
      * @param addParents add any intermediate parents to the working copy
      * @throws ClientException
+     * @note this method behaves like the 1.8 version with noAutoProps=false
      */
     void add(String path, Depth depth, boolean force, boolean noIgnores,
              boolean addParents)
         throws ClientException;
 
     /**
+     * Adds a file to the repository.
+     * @param path      path to be added.
+     * @param depth     the depth to recurse into subdirectories
+     * @param force     if adding a directory and recurse true and path is a
+     *                  directory, all not already managed files are added.
+     * @param noIgnores if false, don't add files or directories matching
+     *                  ignore patterns
+     * @param noAutoProps if true, ignore any auto-props configuration
+     * @param addParents add any intermediate parents to the working copy
+     * @throws ClientException
+     * @since 1.8
+     */
+    void add(String path, Depth depth, boolean force,
+             boolean noIgnores, boolean noAutoProps, boolean addParents)
+        throws ClientException;
+
+    /**
      * Updates the directories or files from repository
      * @param path array of target files.
      * @param revision the revision number to update.
@@ -304,12 +322,27 @@ public interface ISVNClient
      * @param moveAsChild Whether to move <code>srcPaths</code> as
      * children of <code>destPath</code>.
      * @param makeParents Whether to create intermediate parents.
+     * @param metadataOnly Move just the metadata and not the working files/dirs
+     * @param allowMixRev If true use copy and delete without move tracking
+     *                    when a srcPath is mixed-revision, if false return
+     *                    an error when a srcPath is mixed-revision.
      * @param revpropTable A string-to-string mapping of revision properties
      *                     to values which will be set if this operation
      *                     results in a commit.
      * @param handler   the commit message callback, may be <code>null</code>
      *                  if <code>destPath</code> is not a URL
      * @throws ClientException If the move operation fails.
+     * @since 1.8
+     */
+    void move(Set<String> srcPaths, String destPath, boolean force,
+              boolean moveAsChild, boolean makeParents, boolean metadataOnly,
+              boolean allowMixRev, Map<String, String> revpropTable,
+              CommitMessageCallback handler, CommitCallback callback)
+        throws ClientException;
+
+    /**
+     * @deprecated Provided for backward compatibility with 1.7. Passes
+     *             metadataOnly false and allowMixRev true.
      */
     void move(Set<String> srcPaths, String destPath, boolean force,
               boolean moveAsChild, boolean makeParents,
@@ -400,22 +433,45 @@ public interface ISVNClient
      * @param url       the target url
      * @param depth     depth to traverse into subdirectories
      * @param noIgnore  whether to add files matched by ignore patterns
+     * @param noAutoProps if true, ignore any auto-props configuration
      * @param ignoreUnknownNodeTypes whether to ignore files which
      *                  the node type is not konwn, just as pipes
      * @param revpropTable A string-to-string mapping of revision properties
      *                     to values which will be set if this operation
      *                     results in a commit.
-     * @param handler   the commit message callback
+     * @param messageHandler   the commit message callback
+     * @param commitCallback   the commit status callback
      * @throws ClientException
-     *
+     * @since 1.8
      */
     void doImport(String path, String url, Depth depth,
-                  boolean noIgnore, boolean ignoreUnknownNodeTypes,
+                  boolean noIgnore, boolean noAutoProps,
+                  boolean ignoreUnknownNodeTypes,
                   Map<String, String> revpropTable,
                   ImportFilterCallback importFilterCallback,
-                  CommitMessageCallback handler, CommitCallback commitCallback)
+                  CommitMessageCallback messageHandler,
+                  CommitCallback commitCallback)
             throws ClientException;
 
+
+    /**
+     * Import a file or directory into a repository directory  at
+     * head.
+     * @param path      the local path
+     * @param url       the target url
+     * @param depth     depth to traverse into subdirectories
+     * @param noIgnore  whether to add files matched by ignore patterns
+     * @param ignoreUnknownNodeTypes whether to ignore files which
+     *                  the node type is not konwn, just as pipes
+     * @param revpropTable A string-to-string mapping of revision properties
+     *                     to values which will be set if this operation
+     *                     results in a commit.
+     * @param handler   the commit message callback
+     * @param callback  the commit status callback
+     * @throws ClientException
+     * @note this method behaves like the 1.8 version with noAutoProps=false
+     *       and without the filtering option.
+     */
     void doImport(String path, String url, Depth depth,
                   boolean noIgnore, boolean ignoreUnknownNodeTypes,
                   Map<String, String> revpropTable,
@@ -536,6 +592,42 @@ public interface ISVNClient
      *                      entirety, not as diffs from their sources
      * @param ignoreProps   don't show property diffs
      * @param propsOnly     show property changes only
+     * @param options       additional options for controlling the output
+     * @throws ClientException
+     * @since 1.8
+     */
+    void diff(String target1, Revision revision1, String target2,
+              Revision revision2, String relativeToDir, OutputStream outStream,
+              Depth depth, Collection<String> changelists,
+              boolean ignoreAncestry, boolean noDiffDeleted, boolean force,
+              boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly,
+              DiffOptions options)
+            throws ClientException;
+
+    void diff(String target1, Revision revision1, String target2,
+              Revision revision2, String relativeToDir, String outFileName,
+              Depth depth, Collection<String> changelists,
+              boolean ignoreAncestry, boolean noDiffDeleted, boolean force,
+              boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly,
+              DiffOptions options)
+            throws ClientException;
+
+    /**
+     * Display the differences between two paths
+     * @param target1       first path or url
+     * @param revision1     first revision
+     * @param target2       second path or url
+     * @param revision2     second revision
+     * @param relativeToDir index path is relative to this path
+     * @param outFileName   file name where difference are written
+     * @param depth         how deep to traverse into subdirectories
+     * @param ignoreAncestry ignore if files are not related
+     * @param noDiffDeleted no output on deleted files
+     * @param force         diff even on binary files
+     * @param copiesAsAdds  if set, copied files will be shown in their
+     *                      entirety, not as diffs from their sources
+     * @param ignoreProps   don't show property diffs
+     * @param propsOnly     show property changes only
      * @throws ClientException
      */
     void diff(String target1, Revision revision1, String target2,
@@ -569,6 +661,43 @@ public interface ISVNClient
      *                      entirety, not as diffs from their sources
      * @param ignoreProps   don't show property diffs
      * @param propsOnly     show property changes only
+     * @param options       additional options for controlling the output
+     * @throws ClientException
+     * @since 1.8
+     */
+    void diff(String target, Revision pegRevision, Revision startRevision,
+              Revision endRevision, String relativeToDir, OutputStream outStream,
+              Depth depth, Collection<String> changelists,
+              boolean ignoreAncestry, boolean noDiffDeleted, boolean force,
+              boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly,
+              DiffOptions options)
+            throws ClientException;
+
+    void diff(String target, Revision pegRevision, Revision startRevision,
+              Revision endRevision, String relativeToDir, String outFileName,
+              Depth depth, Collection<String> changelists,
+              boolean ignoreAncestry, boolean noDiffDeleted, boolean force,
+              boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly,
+              DiffOptions options)
+            throws ClientException;
+
+    /**
+     * Display the differences between two paths.
+     * @param target        path or url
+     * @param pegRevision   revision tointerpret target
+     * @param startRevision first Revision to compare
+     * @param endRevision   second Revision to compare
+     * @param relativeToDir index path is relative to this path
+     * @param outFileName   file name where difference are written
+     * @param depth         how deep to traverse into subdirectories
+     * @param changelists  if non-null, filter paths using changelists
+     * @param ignoreAncestry ignore if files are not related
+     * @param noDiffDeleted no output on deleted files
+     * @param force         diff even on binary files
+     * @param copiesAsAdds  if set, copied files will be shown in their
+     *                      entirety, not as diffs from their sources
+     * @param ignoreProps   don't show property diffs
+     * @param propsOnly     show property changes only
      * @throws ClientException
      */
     void diff(String target, Revision pegRevision, Revision startRevision,

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java Sat Mar 30 20:02:27 2013
@@ -29,6 +29,7 @@ import java.io.InputStream;
 import java.io.File;
 
 import org.apache.subversion.javahl.callback.ReposNotifyCallback;
+import org.apache.subversion.javahl.callback.ReposFreezeAction;
 import org.apache.subversion.javahl.types.*;
 
 public interface ISVNRepos {
@@ -136,10 +137,13 @@ public interface ISVNRepos {
 	public abstract void listUnusedDBLogs(File path, MessageReceiver receiver)
 			throws ClientException;
 
+
 	/**
-	 * load the data of a dump into a repository,
+	 * 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
@@ -149,6 +153,32 @@ public interface ISVNRepos {
 	 *                          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,
+                                  Revision start, Revision end,
+                                  boolean ignoreUUID, boolean forceUUID,
+                                  boolean usePreCommitHook,
+                                  boolean usePostCommitHook,
+                                  String relativePath,
+                                  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
+         * @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,
@@ -166,14 +196,34 @@ public interface ISVNRepos {
 			throws ClientException;
 
 	/**
-	 * recover the berkeley db of a repository, returns youngest revision
+	 * 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
+         * @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

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java Sat Mar 30 20:02:27 2013
@@ -188,7 +188,19 @@ public class ReposNotifyInformation exte
         recover_start,
 
         /** Upgrade has started. */
-        upgrade_start;
+        upgrade_start,
+
+        /**
+         * A revision was skipped during loading.
+         * @since 1.8
+         */
+        load_skipped_rev,
+
+        /**
+         * The structure of a revision is being verified.
+         * @since 1.8
+         */
+        verify_rev_structure;
     }
 
     public enum NodeAction

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Sat Mar 30 20:02:27 2013
@@ -172,9 +172,17 @@ public class SVNClient implements ISVNCl
             throws ClientException;
 
     public native void add(String path, Depth depth, boolean force,
-                           boolean noIgnores, boolean addParents)
+                           boolean noIgnores, boolean noAutoProps,
+                           boolean addParents)
         throws ClientException;
 
+    public void add(String path, Depth depth, boolean force,
+                    boolean noIgnores, boolean addParents)
+        throws ClientException
+    {
+        add(path, depth, force, noIgnores, false, addParents);
+    }
+
     public native long[] update(Set<String> paths, Revision revision,
                                 Depth depth, boolean depthIsSticky,
                                 boolean makeParents,
@@ -198,11 +206,23 @@ public class SVNClient implements ISVNCl
 
     public native void move(Set<String> srcPaths, String destPath,
                             boolean force, boolean moveAsChild,
-                            boolean makeParents,
+                            boolean makeParents, boolean metadataOnly,
+                            boolean allowMixRev,
                             Map<String, String> revpropTable,
                             CommitMessageCallback handler, CommitCallback callback)
             throws ClientException;
 
+    public void move(Set<String> srcPaths, String destPath,
+                     boolean force, boolean moveAsChild,
+                     boolean makeParents,
+                     Map<String, String> revpropTable,
+                     CommitMessageCallback handler, CommitCallback callback)
+        throws ClientException
+    {
+        move(srcPaths, destPath, force, moveAsChild, makeParents, false, true,
+             revpropTable, handler, callback);
+    }
+
     public native void mkdir(Set<String> paths, boolean makeParents,
                              Map<String, String> revpropTable,
                              CommitMessageCallback handler, CommitCallback callback)
@@ -229,7 +249,7 @@ public class SVNClient implements ISVNCl
             throws ClientException;
 
     public native void doImport(String path, String url, Depth depth,
-                                boolean noIgnore,
+                                boolean noIgnore, boolean noAutoProps,
                                 boolean ignoreUnknownNodeTypes,
                                 Map<String, String> revpropTable,
                                 ImportFilterCallback importFilterCallback,
@@ -244,7 +264,7 @@ public class SVNClient implements ISVNCl
                          CommitCallback callback)
             throws ClientException
     {
-        doImport(path, url, depth, noIgnore, ignoreUnknownNodeTypes,
+        doImport(path, url, depth, noIgnore, false, ignoreUnknownNodeTypes,
                  revpropTable, null, handler, callback);
     }
 
@@ -293,7 +313,41 @@ public class SVNClient implements ISVNCl
             OutputStream stream = new FileOutputStream(outFileName);
             diff(target1, revision1, target2, revision2, relativeToDir,
                  stream, depth, changelists, ignoreAncestry, noDiffDeleted,
-                 force, copiesAsAdds, false, false);
+                 force, copiesAsAdds, false, false, null);
+        } catch (FileNotFoundException ex) {
+            throw ClientException.fromException(ex);
+        }
+    }
+
+    public void diff(String target1, Revision revision1, String target2,
+                     Revision revision2, String relativeToDir,
+                     OutputStream stream, Depth depth,
+                     Collection<String> changelists,
+                     boolean ignoreAncestry, boolean noDiffDeleted,
+                     boolean force, boolean copiesAsAdds,
+                     boolean ignoreProps, boolean propsOnly)
+            throws ClientException
+    {
+        diff(target1, revision1, target2, revision2, relativeToDir,
+             stream, depth, changelists, ignoreAncestry, noDiffDeleted,
+             force, copiesAsAdds, ignoreProps, propsOnly, null);
+    }
+
+    public void diff(String target1, Revision revision1, String target2,
+                     Revision revision2, String relativeToDir,
+                     String outFileName, Depth depth,
+                     Collection<String> changelists,
+                     boolean ignoreAncestry, boolean noDiffDeleted,
+                     boolean force, boolean copiesAsAdds,
+                     boolean ignoreProps, boolean propsOnly,
+                     DiffOptions options)
+            throws ClientException
+    {
+        try {
+            OutputStream stream = new FileOutputStream(outFileName);
+            diff(target1, revision1, target2, revision2, relativeToDir,
+                 stream, depth, changelists, ignoreAncestry, noDiffDeleted,
+                 force, copiesAsAdds, ignoreProps, propsOnly, options);
         } catch (FileNotFoundException ex) {
             throw ClientException.fromException(ex);
         }
@@ -305,9 +359,12 @@ public class SVNClient implements ISVNCl
                             Collection<String> changelists,
                             boolean ignoreAncestry, boolean noDiffDeleted,
                             boolean force, boolean copiesAsAdds,
-                            boolean ignoreProps, boolean propsOnly)
+                            boolean ignoreProps, boolean propsOnly,
+                            DiffOptions options)
             throws ClientException;
 
+
+
     public void diff(String target, Revision pegRevision,
                      Revision startRevision, Revision endRevision,
                      String relativeToDir, String outFileName,
@@ -320,7 +377,41 @@ public class SVNClient implements ISVNCl
             OutputStream stream = new FileOutputStream(outFileName);
             diff(target, pegRevision, startRevision, endRevision,
                  relativeToDir, stream, depth, changelists, ignoreAncestry,
-                 noDiffDeleted, force, copiesAsAdds, false, false);
+                 noDiffDeleted, force, copiesAsAdds, false, false, null);
+        } catch (FileNotFoundException ex) {
+            throw ClientException.fromException(ex);
+        }
+    }
+
+    public void diff(String target, Revision pegRevision,
+                     Revision startRevision, Revision endRevision,
+                     String relativeToDir, OutputStream stream,
+                     Depth depth, Collection<String> changelists,
+                     boolean ignoreAncestry, boolean noDiffDeleted,
+                     boolean force, boolean copiesAsAdds,
+                     boolean ignoreProps, boolean propsOnly)
+            throws ClientException
+    {
+        diff(target, pegRevision, startRevision, endRevision, relativeToDir,
+             stream, depth, changelists, ignoreAncestry, noDiffDeleted,
+             force, copiesAsAdds, ignoreProps, propsOnly, null);
+    }
+
+    public void diff(String target, Revision pegRevision,
+                     Revision startRevision, Revision endRevision,
+                     String relativeToDir, String outFileName,
+                     Depth depth, Collection<String> changelists,
+                     boolean ignoreAncestry, boolean noDiffDeleted,
+                     boolean force, boolean copiesAsAdds,
+                     boolean ignoreProps, boolean propsOnly,
+                     DiffOptions options)
+            throws ClientException
+    {
+        try {
+            OutputStream stream = new FileOutputStream(outFileName);
+            diff(target, pegRevision, startRevision, endRevision, relativeToDir,
+                 stream, depth, changelists, ignoreAncestry, noDiffDeleted,
+                 force, copiesAsAdds, ignoreProps, propsOnly, options);
         } catch (FileNotFoundException ex) {
             throw ClientException.fromException(ex);
         }
@@ -332,7 +423,8 @@ public class SVNClient implements ISVNCl
                             Depth depth, Collection<String> changelists,
                             boolean ignoreAncestry, boolean noDiffDeleted,
                             boolean force, boolean copiesAsAdds,
-                            boolean ignoreProps, boolean propsOnly)
+                            boolean ignoreProps, boolean propsOnly,
+                            DiffOptions options)
             throws ClientException;
 
     public native void diffSummarize(String target1, Revision revision1,

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java Sat Mar 30 20:02:27 2013
@@ -29,6 +29,7 @@ import java.io.InputStream;
 import java.io.File;
 
 import org.apache.subversion.javahl.callback.ReposNotifyCallback;
+import org.apache.subversion.javahl.callback.ReposFreezeAction;
 import org.apache.subversion.javahl.types.*;
 
 /**
@@ -157,7 +158,19 @@ public class SVNRepos implements ISVNRep
     public native void listUnusedDBLogs(File path, ISVNRepos.MessageReceiver receiver)
             throws ClientException;
 
+    public void load(File path, InputStream dataInput,
+                     boolean ignoreUUID, boolean forceUUID,
+                     boolean usePreCommitHook, boolean usePostCommitHook,
+                     String relativePath, ReposNotifyCallback callback)
+            throws ClientException
+    {
+        load(path, dataInput, Revision.START, Revision.HEAD,
+             ignoreUUID, forceUUID, usePreCommitHook, usePostCommitHook,
+             relativePath, callback);
+    }
+
     public native void load(File path, InputStream dataInput,
+                            Revision start, Revision end,
                             boolean ignoreUUID, boolean forceUUID,
                             boolean usePreCommitHook, boolean usePostCommitHook,
                             String relativePath, ReposNotifyCallback callback)
@@ -175,6 +188,9 @@ public class SVNRepos implements ISVNRep
     public native long recover(File path, ReposNotifyCallback callback)
             throws ClientException;
 
+    public native void freeze(ReposFreezeAction action, File... paths)
+            throws ClientException;
+
     /**
      * remove open transaction in a repository
      * @param path              the path to the repository

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ImportFilterCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ImportFilterCallback.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ImportFilterCallback.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ImportFilterCallback.java Sat Mar 30 20:02:27 2013
@@ -29,6 +29,7 @@ import org.apache.subversion.javahl.type
 /**
  * This interface is used to filter imported nodes in the
  * {@link ISVNClient#import} call.
+ * @since 1.8
  */
 public interface ImportFilterCallback
 {

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java Sat Mar 30 20:02:27 2013
@@ -29,7 +29,7 @@ import org.apache.subversion.javahl.type
 
 /**
  * This interface is used to receive every single line for a file on a
- * the {@link ISVNClient#blame} call.
+ * the {@link ISVNClient#list} call.
  */
 public interface ListCallback
 {

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/NodeKind.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/NodeKind.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/NodeKind.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/NodeKind.java Sat Mar 30 20:02:27 2013
@@ -28,17 +28,23 @@ package org.apache.subversion.javahl.typ
  */
 public enum NodeKind
 {
-    /* absent */
+    /** absent */
     none    ("none"),
 
-    /* regular file */
+    /** regular file */
     file    ("file"),
 
-    /* directory */
+    /** directory */
     dir     ("dir"),
 
-    /* something's here, but we don't know what */
-    unknown ("unknown");
+    /** something's here, but we don't know what */
+    unknown ("unknown"),
+
+    /**
+     * symbolic link
+     * @since: 1.8
+     */
+    symlink ("symlink");
 
     /**
      * The description of the node kind.

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java Sat Mar 30 20:02:27 2013
@@ -165,6 +165,10 @@ public class Status implements java.io.S
      */
     private String changelist;
 
+    private String movedFromAbspath;
+
+    private String movedToAbspath;
+
     /**
      * this constructor should only called from JNI code
      * @param path                  the file system path of item
@@ -203,6 +207,8 @@ public class Status implements java.io.S
      * @param reposLastCmtAuthor    the author of the last commit, if out of
      *                              date
      * @param changelist            the changelist the item is a member of
+     * @param movedFromAbspath      path moved from
+     * @param movedToAbspath        path moved from
      */
     public Status(String path, String url, NodeKind nodeKind, long revision,
                   long lastChangedRevision, long lastChangedDate,
@@ -212,7 +218,8 @@ public class Status implements java.io.S
                   boolean switched, boolean fileExternal, Lock localLock,
                   Lock reposLock, long reposLastCmtRevision,
                   long reposLastCmtDate, NodeKind reposKind,
-                  String reposLastCmtAuthor, String changelist)
+                  String reposLastCmtAuthor, String changelist,
+                  String movedFromAbspath, String movedToAbspath)
     {
         this.path = path;
         this.url = url;
@@ -237,6 +244,8 @@ public class Status implements java.io.S
         this.reposKind = reposKind;
         this.reposLastCmtAuthor = reposLastCmtAuthor;
         this.changelist = changelist;
+        this.movedFromAbspath = movedFromAbspath;
+        this.movedToAbspath = movedToAbspath;
     }
 
     /**
@@ -585,6 +594,16 @@ public class Status implements java.io.S
         return isConflicted;
     }
 
+    public String getMovedFromAbspath()
+    {
+        return movedFromAbspath;
+    }
+
+    public String getMovedToAbspath()
+    {
+        return movedToAbspath;
+    }
+
     /**
      * Converts microseconds since the epoch to a Date object.
      *

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Sat Mar 30 20:02:27 2013
@@ -795,6 +795,7 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public void remove(String[] paths, String message, boolean force,
                        boolean keepLocal, Map revpropTable)
             throws ClientException
@@ -964,6 +965,7 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public long commit(String[] paths, String message, int depth,
                        boolean noUnlock, boolean keepChangelist,
                        String[] changelists, Map revpropTable)
@@ -998,6 +1000,7 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.7
      */
+    @SuppressWarnings("unchecked")
     public void copy(CopySource[] sources, String destPath, String message,
                      boolean copyAsChild, boolean makeParents,
                      boolean ignoreExternals, Map revpropTable)
@@ -1031,6 +1034,7 @@ public class SVNClient implements SVNCli
      *                              boolean, boolean, Map)} instead.
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public void copy(CopySource[] sources, String destPath, String message,
                      boolean copyAsChild, boolean makeParents,
                      Map revpropTable)
@@ -1057,6 +1061,7 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public void move(String[] srcPaths, String destPath, String message,
                      boolean force, boolean moveAsChild,
                      boolean makeParents, Map revpropTable)
@@ -1106,6 +1111,7 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public void mkdir(String[] paths, String message,
                       boolean makeParents, Map revpropTable)
             throws ClientException
@@ -1306,6 +1312,7 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public void doImport(String path, String url, String message,
                          int depth, boolean noIgnore,
                          boolean ignoreUnknownNodeTypes, Map revpropTable)
@@ -1888,6 +1895,7 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public void propertySet(String path, String name, String value, int depth,
                             String[] changelists, boolean force,
                             Map revpropTable)

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Sat Mar 30 20:02:27 2013
@@ -1027,7 +1027,21 @@ public class BasicTests extends SVNTests
         }
         client.move(srcPaths,
                     new File(thisTest.getWorkingCopy(), "A/B/F").getPath(),
-                    false, true, false, null, null, null);
+                    false, true, false, false, false, null, null, null);
+
+        MyStatusCallback statusCallback = new MyStatusCallback();
+        String statusPath = fileToSVNPath(new File(thisTest.getWCPath() + "/A/B"), true);
+        client.status(statusPath, Depth.infinity, false, false, false, true,
+                      null, statusCallback);
+        Status[] statusList = statusCallback.getStatusArray();
+        assertEquals(statusPath + "/F/alpha",
+                     statusList[0].getMovedToAbspath());
+        assertEquals(statusPath + "/F/beta",
+                     statusList[1].getMovedToAbspath());
+        assertEquals(statusPath + "/E/alpha",
+                     statusList[2].getMovedFromAbspath());
+        assertEquals(statusPath + "/E/beta",
+                     statusList[3].getMovedFromAbspath());
 
         // Commit the changes, and check the state of the WC.
         checkCommitRevision(thisTest,
@@ -2777,7 +2791,7 @@ public class BasicTests extends SVNTests
     }
 
     /**
-     * Test the {@link SVNClientInterface.diff()} APIs.
+     * Test the {@link ISVNClient.diff()} APIs.
      * @since 1.5
      */
     public void testDiff()
@@ -3012,6 +3026,132 @@ public class BasicTests extends SVNTests
 
     }
 
+    /**
+     * Test the {@link ISVNClient.diff()} with {@link DiffOptions}.
+     * @since 1.8
+     */
+    public void testDiffOptions()
+        throws SubversionException, IOException
+    {
+        OneTest thisTest = new OneTest(true);
+        File diffOutput = new File(super.localTmp, thisTest.testName);
+        final String NL = System.getProperty("line.separator");
+        final String sepLine =
+            "===================================================================" + NL;
+        final String underSepLine =
+            "___________________________________________________________________" + NL;
+        final String iotaPath = thisTest.getWCPath().replace('\\', '/') + "/iota";
+        final String wcPath = fileToSVNPath(new File(thisTest.getWCPath()),
+                false);
+        final String expectedDiffHeader =
+            "Index: iota" + NL + sepLine +
+            "--- iota\t(revision 1)" + NL +
+            "+++ iota\t(working copy)" + NL;
+
+        // make edits to iota
+        PrintWriter writer = new PrintWriter(new FileOutputStream(iotaPath));
+        writer.print("This is  the  file 'iota'.");
+        writer.flush();
+        writer.close();
+
+        try
+        {
+            final String expectedDiffOutput = expectedDiffHeader +
+                "@@ -1 +1 @@" + NL +
+                "-This is the file 'iota'." + NL +
+                "\\ No newline at end of file" + NL +
+                "+This is  the  file 'iota'." + NL +
+                "\\ No newline at end of file" + NL;
+
+            client.diff(iotaPath, Revision.BASE, iotaPath, Revision.WORKING,
+                        wcPath, new FileOutputStream(diffOutput.getPath()),
+                        Depth.infinity, null,
+                        false, false, false, false, false, false, null);
+            assertFileContentsEquals(
+                "Unexpected diff output with no options in file '" +
+                diffOutput.getPath() + '\'',
+                expectedDiffOutput, diffOutput);
+            diffOutput.delete();
+        }
+        catch (ClientException e)
+        {
+            fail(e.getMessage());
+        }
+
+        try
+        {
+            final String expectedDiffOutput = "";
+
+            client.diff(iotaPath, Revision.BASE, iotaPath, Revision.WORKING,
+                        wcPath, new FileOutputStream(diffOutput.getPath()),
+                        Depth.infinity, null,
+                        false, false, false, false, false, false,
+                        new DiffOptions(DiffOptions.Flag.IgnoreWhitespace));
+            assertFileContentsEquals(
+                "Unexpected diff output with Flag.IgnoreWhitespace in file '" +
+                diffOutput.getPath() + '\'',
+                expectedDiffOutput, diffOutput);
+            diffOutput.delete();
+        }
+        catch (ClientException e)
+        {
+            fail("Using Flag.IgnoreWhitespace: "
+                  + e.getMessage());
+        }
+
+        try
+        {
+            final String expectedDiffOutput = "";
+
+            client.diff(iotaPath, Revision.BASE, iotaPath, Revision.WORKING,
+                        wcPath, diffOutput.getPath(), Depth.infinity, null,
+                        false, false, false, false, false, false,
+                        new DiffOptions(DiffOptions.Flag.IgnoreSpaceChange));
+            assertFileContentsEquals(
+                "Unexpected diff output with Flag.IgnoreSpaceChange in file '" +
+                diffOutput.getPath() + '\'',
+                expectedDiffOutput, diffOutput);
+            diffOutput.delete();
+        }
+        catch (ClientException e)
+        {
+            fail("Using Flag.IgnoreSpaceChange: "
+                 + e.getMessage());
+        }
+
+        // make edits to iota
+        writer = new PrintWriter(new FileOutputStream(iotaPath));
+        writer.print("This is  the  file 'io ta'.");
+        writer.flush();
+        writer.close();
+
+        try
+        {
+            final String expectedDiffOutput = expectedDiffHeader +
+                "@@ -1 +1 @@" + NL +
+                "-This is the file 'iota'." + NL +
+                "\\ No newline at end of file" + NL +
+                "+This is  the  file 'io ta'." + NL +
+                "\\ No newline at end of file" + NL;
+
+            client.diff(iotaPath, Revision.BASE, iotaPath, Revision.WORKING,
+                        wcPath, diffOutput.getPath(), Depth.infinity, null,
+                        false, false, false, false, false, false,
+                        new DiffOptions(DiffOptions.Flag.IgnoreSpaceChange));
+            assertFileContentsEquals(
+                "Unexpected diff output with Flag.IgnoreSpaceChange in file '" +
+                diffOutput.getPath() + '\'',
+                expectedDiffOutput, diffOutput);
+            diffOutput.delete();
+        }
+        catch (ClientException e)
+        {
+            fail("Using Flag.IgnoreSpaceChange: "
+                 + e.getMessage());
+        }
+    }
+
+
     private void assertFileContentsEquals(String msg, String expected,
                                           File actual)
         throws IOException
@@ -3190,7 +3330,7 @@ public class BasicTests extends SVNTests
         }
         client.move(srcPaths,
                     new File(thisTest.getWorkingCopy(), "A/B/F").getPath(),
-                    false, true, false, null, null, null);
+                    false, true, false, false, false, null, null, null);
 
         // Commit the changes, and check the state of the WC.
         checkCommitRevision(thisTest,

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java Sat Mar 30 20:02:27 2013
@@ -34,7 +34,7 @@ import java.net.URI;
 import java.util.Map;
 
 /**
- * This class is used for testing the SVNAdmin class
+ * This class is used for testing the ISVNRepos interface
  *
  * More methodes for testing are still needed
  */
@@ -50,7 +50,7 @@ public class SVNReposTests extends SVNTe
     }
 
     /**
-     * Test the basic SVNAdmin.create functionality
+     * Test the basic ISVNRepos.create functionality
      * @throws SubversionException
      */
     public void testCreate()
@@ -100,10 +100,26 @@ public class SVNReposTests extends SVNTe
         admin.pack(thisTest.getRepository(), null);
     }
 
+    /* Check that the freeze() callback gets invoked. */
+    private class FreezeAction implements ReposFreezeAction
+    {
+        int invoked = 0;
+        public void invoke() { ++invoked; }
+    }
+
+    public void testFreeze()
+        throws SubversionException, IOException
+    {
+        OneTest thisTest = new OneTest(false);
+        FreezeAction action = new FreezeAction();
+        admin.freeze(action, thisTest.getRepository());
+        assertEquals("expect freeze callback to be invoked once", 1, action.invoked);
+    }
+
     public void testLoadRepo()
         throws SubversionException, IOException
     {
-        /* Make sure SVNAdmin.load() works, with a repo dump file known
+        /* Make sure ISVNRepos.load() works, with a repo dump file known
          * to provoke bug 2979
          */
         // makes repos with nothing in it

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Sat Mar 30 20:02:27 2013
@@ -2176,6 +2176,7 @@ public class BasicTests extends SVNTests
      * are no revisions to return.
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     private long[] getMergeinfoRevisions(int kind, String pathOrUrl,
                                          Revision pegRevision,
                                          String mergeSourceUrl,
@@ -3242,6 +3243,7 @@ public class BasicTests extends SVNTests
      * @throws Throwable
      * @since 1.5
      */
+    @SuppressWarnings("unchecked")
     public void testCommitRevprops() throws Throwable
     {
 
@@ -3348,6 +3350,7 @@ public class BasicTests extends SVNTests
         // change made to this class.
         private static final long serialVersionUID = 1L;
 
+        @SuppressWarnings("unchecked")
         public void onSummary(DiffSummary descriptor)
         {
             super.put(descriptor.getPath(), descriptor);
@@ -3357,6 +3360,7 @@ public class BasicTests extends SVNTests
     private class MyChangelistCallback extends HashMap
         implements ChangelistCallback
     {
+        @SuppressWarnings("unchecked")
         public void doChangelist(String path, String changelist)
         {
             if (super.containsKey(path))

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/RunTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/RunTests.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/RunTests.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/RunTests.java Sat Mar 30 20:02:27 2013
@@ -47,6 +47,7 @@ public class RunTests
          *
          * @return The complete test suite.
          */
+        @SuppressWarnings("unchecked")
         public static TestSuite suite()
         {
             TestSuite suite = new SVNTestSuite();
@@ -75,9 +76,8 @@ public class RunTests
                         Constructor ctor =
                             clazz.getDeclaredConstructor(argTypes);
                         methodName = methodName.substring(i + 1);
-                        String[] args = { methodName };
                         testCases[testCaseIndex++] =
-                            (TestCase) ctor.newInstance(args);
+                            (TestCase) ctor.newInstance(methodName);
                     }
                     catch (Exception e)
                     {

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java Sat Mar 30 20:02:27 2013
@@ -438,6 +438,7 @@ class SVNTests extends TestCase
      * @param stateFlags        expected commit state flags
      *                          (see CommitItemStateFlags)
      */
+    @SuppressWarnings("unchecked")
     protected void addExpectedCommitItem(String workingCopyPath,
                                          String baseUrl,
                                          String itemPath,

Modified: subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/WC.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/WC.java?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/WC.java (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/WC.java Sat Mar 30 20:02:27 2013
@@ -627,6 +627,7 @@ public class WC
          * @param path      the path of the item.
          * @param content   the content of the item. A null signals a directory.
          */
+        @SuppressWarnings("unchecked")
         private Item(String path, String content)
         {
             myPath = path;
@@ -639,6 +640,7 @@ public class WC
          * @param source    the copy source.
          * @param owner     the WC of the copy
          */
+        @SuppressWarnings("unchecked")
         private Item(Item source, WC owner)
         {
             myPath = source.myPath;

Modified: subversion/branches/fsfs-format7/subversion/bindings/swig/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/swig/INSTALL?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/swig/INSTALL (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/swig/INSTALL Sat Mar 30 20:02:27 2013
@@ -368,7 +368,7 @@ USING SWIG BINDINGS
    3. The APIs available within each module are broadly the same as the
       corresponding C APIs except:
 
-        * omit the module prefix (for example, 'svn_client_')
+        * you may omit the module prefix (for example, 'svn_client_')
         * pool arguments are optional
         * using Python exceptions instead of returning svn_error_t
         * returning a tuple of outputs instead of return-by-pointer

Modified: subversion/branches/fsfs-format7/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c Sat Mar 30 20:02:27 2013
@@ -34,6 +34,7 @@
 #include <io.h>
 #endif
 
+#include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_opt.h"
 #include "svn_time.h"
@@ -117,7 +118,7 @@ static apr_hash_t *svn_swig_pl_to_hash(S
     while (cnt--) {
 	SV* item = hv_iternextsv(h, &key, &retlen);
 	void *val = cv(item, ctx, pool);
-	apr_hash_set(hash, key, APR_HASH_KEY_STRING, val);
+	svn_hash_sets(hash, key, val);
     }
 
     return hash;

Modified: subversion/branches/fsfs-format7/subversion/bindings/swig/python/README
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/swig/python/README?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/swig/python/README (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/swig/python/README Sat Mar 30 20:02:27 2013
@@ -5,6 +5,25 @@ TRANSLATING PARAMETER LISTS
    The argument-reductions laws of the SWIG bindings something go like
    this:
    
+     - The module prefix can be omitted.  o:
+
+          void *some_C_function = svn_client_foo;
+       
+       becomes:
+
+          import svn.client
+          func = svn.client.foo
+
+       However, the following two alternatives also work:
+
+          # Fully-qualified C name
+          import svn.client
+          func = svn.client.svn_client_foo
+
+          # Star-import imports just svn_* names, not bare 'foo' names.
+          from svn.client import *
+          func = svn_client_foo
+
      - Python functions don't return errors.  They throw exceptions.
        Which means that...
    

Modified: subversion/branches/fsfs-format7/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Sat Mar 30 20:02:27 2013
@@ -35,6 +35,7 @@
 #include <apr_portable.h>
 #include <apr_thread_proc.h>
 
+#include "svn_hash.h"
 #include "svn_client.h"
 #include "svn_string.h"
 #include "svn_opt.h"
@@ -959,7 +960,7 @@ apr_hash_t *svn_swig_py_stringhash_from_
           Py_DECREF(keys);
           return NULL;
         }
-      apr_hash_set(hash, propname, APR_HASH_KEY_STRING, propval);
+      svn_hash_sets(hash, propname, propval);
     }
   Py_DECREF(keys);
   return hash;
@@ -1002,7 +1003,7 @@ apr_hash_t *svn_swig_py_mergeinfo_from_d
           Py_DECREF(keys);
           return NULL;
         }
-      apr_hash_set(hash, pathname, APR_HASH_KEY_STRING, ranges);
+      svn_hash_sets(hash, pathname, ranges);
     }
   Py_DECREF(keys);
   return hash;
@@ -1079,7 +1080,7 @@ apr_hash_t *svn_swig_py_prophash_from_di
           Py_DECREF(keys);
           return NULL;
         }
-      apr_hash_set(hash, propname, APR_HASH_KEY_STRING, propval);
+      svn_hash_sets(hash, propname, propval);
     }
   Py_DECREF(keys);
   return hash;
@@ -1132,7 +1133,7 @@ apr_hash_t *svn_swig_py_path_revs_hash_f
           return NULL;
         }
 
-      apr_hash_set(hash, path, APR_HASH_KEY_STRING, revnum);
+      svn_hash_sets(hash, path, revnum);
     }
   Py_DECREF(keys);
   return hash;
@@ -1181,7 +1182,7 @@ apr_hash_t *svn_swig_py_struct_ptr_hash_
           Py_DECREF(keys);
           return NULL;
         }
-      apr_hash_set(hash, c_key, APR_HASH_KEY_STRING, struct_ptr);
+      svn_hash_sets(hash, c_key, struct_ptr);
     }
   Py_DECREF(keys);
   return hash;

Modified: subversion/branches/fsfs-format7/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c (original)
+++ subversion/branches/fsfs-format7/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c Sat Mar 30 20:02:27 2013
@@ -53,6 +53,7 @@
 #include <locale.h>
 #include <math.h>
 
+#include "svn_hash.h"
 #include "svn_nls.h"
 #include "svn_pools.h"
 #include "svn_props.h"
@@ -1516,10 +1517,8 @@ r2c_hash_i(VALUE key, VALUE value, hash_
 {
   if (key != Qundef) {
     void *val = data->func(value, data->ctx, data->pool);
-    apr_hash_set(data->apr_hash,
-                 apr_pstrdup(data->pool, StringValuePtr(key)),
-                 APR_HASH_KEY_STRING,
-                 val);
+    svn_hash_sets(data->apr_hash, apr_pstrdup(data->pool, StringValuePtr(key)),
+                  val);
   }
   return ST_CONTINUE;
 }

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_cmdline_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_cmdline_private.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_cmdline_private.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_cmdline_private.h Sat Mar 30 20:02:27 2013
@@ -199,6 +199,28 @@ svn_cmdline__edit_string_externally(svn_
                                     apr_pool_t *pool);
 
 
+/** Wrapper for apr_getopt_init(), which see.
+ *
+ * @since New in 1.4.
+ */
+svn_error_t *
+svn_cmdline__getopt_init(apr_getopt_t **os,
+                         int argc,
+                         const char *argv[],
+                         apr_pool_t *pool);
+
+/* Determine whether interactive mode should be enabled, based on whether
+ * the user passed the --non-interactive or --force-interactive options.
+ * If neither option was passed, interactivity is enabled if standard
+ * input is connected to a terminal device.
+ *
+ * @since New in 1.8.
+ */
+svn_boolean_t
+svn_cmdline__be_interactive(svn_boolean_t non_interactive,
+                            svn_boolean_t force_interactive);
+
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_debug.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_debug.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_debug.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_debug.h Sat Mar 30 20:02:27 2013
@@ -23,22 +23,21 @@
 #ifndef SVN_DEBUG_H
 #define SVN_DEBUG_H
 
-/* Only available when SVN_DEBUG is defined (ie. svn developers). Note that
-   we do *not* provide replacement macros/functions for proper releases.
-   The debug stuff should be removed before a commit.
-
-   ### maybe we will eventually decide to allow certain debug stuff to
-   ### remain in the code. at that point, we can rejigger this header.  */
 #ifdef SVN_DEBUG
+#define SVN_DBG__PROTOTYPES
+#endif
 
+#ifdef SVN_DBG__PROTOTYPES
 #define APR_WANT_STDIO
 #include <apr_want.h>
 #include <apr_hash.h>
+#endif
 
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
+#ifdef SVN_DBG__PROTOTYPES
 /* A few helper functions for the macros below.  */
 void
 svn_dbg__preamble(const char *file, long line, FILE *output);
@@ -50,6 +49,15 @@ svn_dbg__print_props(apr_hash_t *props,
                      const char *header_fmt,
                      ...)
   __attribute__((format(printf, 2, 3)));
+#endif
+
+/* Only available when SVN_DEBUG is defined (ie. svn developers). Note that
+   we do *not* provide replacement macros/functions for proper releases.
+   The debug stuff should be removed before a commit.
+
+   ### maybe we will eventually decide to allow certain debug stuff to
+   ### remain in the code. at that point, we can rejigger this header.  */
+#ifdef SVN_DEBUG
 
 /* Print to stdout. Edit this line if you need stderr.  */
 #define SVN_DBG_OUTPUT stdout
@@ -70,7 +78,7 @@ svn_dbg__print_props(apr_hash_t *props,
  * usage:
  *
  * <pre>
- *   SVN_DBG(("rev=%ld kind=%s\n", revnum, svn_kind_to_word(kind)));
+ *   SVN_DBG(("rev=%ld kind=%s\n", revnum, svn_node_kind_to_word(kind)));
  * </pre>
  *
  * outputs:
@@ -90,14 +98,10 @@ svn_dbg__print_props(apr_hash_t *props,
 
 #endif
 
+#endif /* SVN_DEBUG */
 
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
 
-#else /* SVN_DEBUG */
-
-/* We DON'T define SVN_DBG in release mode. See top of this file. */
-
-#endif /* SVN_DEBUG */
 #endif /* SVN_DEBUG_H */

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_dep_compat.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_dep_compat.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_dep_compat.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_dep_compat.h Sat Mar 30 20:02:27 2013
@@ -62,6 +62,19 @@ extern "C" {
 #define apr_array_clear(arr)         (arr)->nelts = 0
 #endif
 
+#if !APR_VERSION_AT_LEAST(1,3,0)
+/* Equivalent to the apr_hash_clear() function in APR >= 1.3.0.  Used to
+ * implement the 'apr_hash_clear' macro if the version of APR that
+ * we build against does not provide the apr_hash_clear() function. */
+void svn_hash__clear(struct apr_hash_t *ht);
+
+/**
+ * If we don't have a recent enough APR, emulate the behavior of the
+ * apr_hash_clear() API.
+ */
+#define apr_hash_clear(ht)           svn_hash__clear(ht)
+#endif
+
 #if !APR_VERSION_AT_LEAST(1,0,0)
 #define APR_UINT64_C(val) UINT64_C(val)
 #define APR_FPROT_OS_DEFAULT APR_OS_DEFAULT

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_editor.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_editor.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_editor.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_editor.h Sat Mar 30 20:02:27 2013
@@ -38,6 +38,84 @@
 extern "C" {
 #endif /* __cplusplus */
 
+
+/*** Temporarily private stuff (should move to svn_delta.h when Editor
+     V2 is made public) ***/
+
+/** Callback to retrieve a node's entire set of properties.  This is
+ * needed by the various editor shims in order to effect backwards
+ * compatibility.
+ *
+ * Implementations should set @a *props to the hash of properties
+ * associated with @a path in @a base_revision, allocating that hash
+ * and its contents in @a result_pool, and should use @a scratch_pool
+ * for temporary allocations.
+ *
+ * @a baton is an implementation-specific closure.
+ */
+typedef svn_error_t *(*svn_delta_fetch_props_func_t)(
+  apr_hash_t **props,
+  void *baton,
+  const char *path,
+  svn_revnum_t base_revision,
+  apr_pool_t *result_pool,
+  apr_pool_t *scratch_pool
+  );
+
+/** Callback to retrieve a node's kind.  This is needed by the various
+ * editor shims in order to effect backwards compatibility.
+ *
+ * Implementations should set @a *kind to the node kind of @a path in
+ * @a base_revision, using @a scratch_pool for temporary allocations.
+ *
+ * @a baton is an implementation-specific closure.
+ */
+typedef svn_error_t *(*svn_delta_fetch_kind_func_t)(
+  svn_node_kind_t *kind,
+  void *baton,
+  const char *path,
+  svn_revnum_t base_revision,
+  apr_pool_t *scratch_pool
+  );
+
+/** Callback to fetch the name of a file to use as a delta base.
+ *
+ * Implementations should set @a *filename to the name of a file
+ * suitable for use as a delta base for @a path in @a base_revision
+ * (allocating @a *filename from @a result_pool), or to @c NULL if the
+ * base stream is empty.  @a scratch_pool is provided for temporary
+ * allocations.
+ *
+ * @a baton is an implementation-specific closure.
+ */
+typedef svn_error_t *(*svn_delta_fetch_base_func_t)(
+  const char **filename,
+  void *baton,
+  const char *path,
+  svn_revnum_t base_revision,
+  apr_pool_t *result_pool,
+  apr_pool_t *scratch_pool
+  );
+
+/** Collection of callbacks used for the shim code.  This structure
+ * may grow additional fields in the future.  Therefore, always use
+ * svn_delta_shim_callbacks_default() to allocate new instances of it.
+ */
+typedef struct svn_delta_shim_callbacks_t
+{
+  svn_delta_fetch_props_func_t fetch_props_func;
+  svn_delta_fetch_kind_func_t fetch_kind_func;
+  svn_delta_fetch_base_func_t fetch_base_func;
+  void *fetch_baton;
+} svn_delta_shim_callbacks_t;
+
+/** Return a collection of default shim functions in @a result_pool.
+ */
+svn_delta_shim_callbacks_t *
+svn_delta_shim_callbacks_default(apr_pool_t *result_pool);
+
+
+
 /** Transforming trees ("editing").
  *
  * In Subversion, we have a number of occasions where we transform a tree
@@ -473,7 +551,7 @@ typedef svn_error_t *(*svn_editor_cb_add
 typedef svn_error_t *(*svn_editor_cb_add_absent_t)(
   void *baton,
   const char *relpath,
-  svn_kind_t kind,
+  svn_node_kind_t kind,
   svn_revnum_t replaces_rev,
   apr_pool_t *scratch_pool);
 
@@ -878,7 +956,7 @@ svn_editor_add_symlink(svn_editor_t *edi
 svn_error_t *
 svn_editor_add_absent(svn_editor_t *editor,
                       const char *relpath,
-                      svn_kind_t kind,
+                      svn_node_kind_t kind,
                       svn_revnum_t replaces_rev);
 
 /** Drive @a editor's #svn_editor_cb_alter_directory_t callback.

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_io_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_io_private.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_io_private.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_io_private.h Sat Mar 30 20:02:27 2013
@@ -81,7 +81,9 @@ svn_stream__set_is_buffered(svn_stream_t
 
 /** Return whether this generic @a stream uses internal buffering.
  * This may be used to work around subtle differences between buffered
- * an non-buffered APR files.
+ * an non-buffered APR files.  A lazy-open stream cannot report the
+ * true buffering state until after the lazy open: a stream that
+ * initially reports as non-buffered may report as buffered later.
  *
  * @since New in 1.7.
  */

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_ra_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_ra_private.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_ra_private.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_ra_private.h Sat Mar 30 20:02:27 2013
@@ -161,11 +161,11 @@ typedef svn_error_t *(*svn_ra__provide_p
 /* Using information from BATON, fetch the kind of REPOS_RELPATH at revision
    SRC_REVISION, returning it in *KIND.
 
-   If the kind cannot be determined, then set *KIND to svn_kind_unknown.
+   If the kind cannot be determined, then set *KIND to svn_node_unknown.
 
    Temporary allocations can be made in SCRATCH_POOL.  */
 typedef svn_error_t *(*svn_ra__get_copysrc_kind_cb_t)(
-  svn_kind_t *kind,
+  svn_node_kind_t *kind,
   void *baton,
   const char *repos_relpath,
   svn_revnum_t src_revision,

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_subr_private.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_subr_private.h Sat Mar 30 20:02:27 2013
@@ -232,15 +232,6 @@ svn_checksum__from_digest_sha1(const uns
  * @{
  */
 
-/**
- * Clear any key/value pairs in the hash table.  A wrapper for a
- * apr_hash_clear(), which isn't available until APR 1.3.0.
- *
- * @since New in 1.5.
- */
-svn_error_t *
-svn_hash__clear(apr_hash_t *hash, apr_pool_t *pool);
-
 /** @} */
 
 

Modified: subversion/branches/fsfs-format7/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/private/svn_wc_private.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/private/svn_wc_private.h Sat Mar 30 20:02:27 2013
@@ -154,8 +154,8 @@ typedef struct svn_wc__committable_exter
    * from. */
   const char *repos_root_url;
 
-  /* Set to either svn_kind_file or svn_kind_dir. */
-  svn_kind_t kind;
+  /* Set to either svn_node_file or svn_node_dir. */
+  svn_node_kind_t kind;
 
 } svn_wc__committable_external_info_t;
 
@@ -1458,6 +1458,10 @@ svn_wc__get_status_editor(const svn_delt
  * the ambient depth filtering, so this doesn't have to be handled in the
  * editor.
  *
+ * If @a clean_checkout is TRUE, assume that we are checking out into an
+ * empty directory, and so bypass a number of conflict checks that are
+ * unnecessary in this case.
+ *
  * If @a fetch_dirents_func is not NULL, the update editor may call this
  * callback, when asked to perform a depth restricted update. It will do this
  * before returning the editor to allow using the primary ra session for this.
@@ -1647,7 +1651,7 @@ typedef svn_error_t *
                                        svn_wc_notify_state_t *state,
                                        svn_wc_notify_state_t *prop_state,
                                        const char *relpath,
-                                       svn_kind_t kind,
+                                       svn_node_kind_t kind,
                                        svn_boolean_t before_op,
                                        svn_boolean_t for_add,
                                        svn_boolean_t for_delete,
@@ -1661,7 +1665,7 @@ typedef svn_error_t *
  */
 typedef svn_error_t *
         (*svn_wc__diff_state_close_t)(const char *relpath,
-                                      svn_kind_t kind,
+                                      svn_node_kind_t kind,
                                       void *state_baton,
                                       apr_pool_t *scratch_pool);
 
@@ -1778,7 +1782,8 @@ svn_wc__resolve_conflicts(svn_wc_context
  * If @a allow_mixed_revisions is @c FALSE, #SVN_ERR_WC_MIXED_REVISIONS
  * will be raised if the move source is a mixed-revision subtree.
  * If @a allow_mixed_revisions is TRUE, a mixed-revision move source is
- * allowed. This parameter should be set to FALSE except where backwards
+ * allowed but the move will degrade to a copy and a delete without local
+ * move tracking. This parameter should be set to FALSE except where backwards
  * compatibility to svn_wc_move() is required.
  *
  * If @a cancel_func is non-NULL, call it with @a cancel_baton at

Modified: subversion/branches/fsfs-format7/subversion/include/svn_checksum.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_checksum.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_checksum.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_checksum.h Sat Mar 30 20:02:27 2013
@@ -241,7 +241,8 @@ apr_size_t
 svn_checksum_size(const svn_checksum_t *checksum);
 
 /**
- * Return @c TRUE iff CHECKSUM matches the checksum for the empty string.
+ * Return @c TRUE iff @a checksum matches the checksum for the empty
+ * string.
  *
  * @since New in 1.8.
  */

Modified: subversion/branches/fsfs-format7/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_client.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_client.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_client.h Sat Mar 30 20:02:27 2013
@@ -515,10 +515,11 @@ typedef struct svn_client_commit_item3_t
    * When committing a move, this contains the absolute path where
    * the node was directly moved from. (If an ancestor at the original
    * location was moved then it points to where the node itself was
-   * moved, from. Not the original location)
+   * moved from; not the original location.)
    * @since New in 1.8.
    */
   const char *moved_from_abspath;
+
 } svn_client_commit_item3_t;
 
 /** The commit candidate structure.
@@ -1857,8 +1858,9 @@ svn_client_delete(svn_client_commit_info
  * for it when walking the directory tree. Only the kind of node, including
  * special status is available in @a dirent.
  *
- * Implementations can set @a *filtered to TRUE, to make the import filter the
- * node and (if the node is a directory) all its descendants.
+ * Implementations can set @a *filtered to TRUE, to make the import
+ * process omit the node and (if the node is a directory) all its
+ * descendants.
  *
  * @a scratch_pool can be used for temporary allocations.
  *
@@ -2093,9 +2095,9 @@ svn_client_import(svn_client_commit_info
  *
  * If @a include_file_externals and/or @a include_dir_externals are #TRUE,
  * also commit all file and/or dir externals (respectively) that are reached
- * by recursion, with these exceptions: Never recurse to externals
- * - that have a fixed revision or
- * - that come from a different repository root URL (dir externals).
+ * by recursion, except for those externals which:
+ *     - have a fixed revision, or
+ *     - come from a different repository root URL (dir externals).
  * These flags affect only recursion; externals that directly appear in @a
  * targets are always included in the commit.
  *
@@ -2139,9 +2141,12 @@ svn_client_commit6(const apr_array_heade
 
 /**
  * Similar to svn_client_commit6(), but passes @a include_file_externals as
- * TRUE and @a include_dir_externals as FALSE.
+ * FALSE and @a include_dir_externals as FALSE.
+ * 
  * @since New in 1.7.
+ * @deprecated Provided for backward compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_client_commit5(const apr_array_header_t *targets,
                    svn_depth_t depth,
@@ -3029,8 +3034,10 @@ svn_client_diff6(const apr_array_header_
                  apr_pool_t *pool);
 
 /** Similar to svn_client_diff6(), but with @a outfile and @a errfile,
- * instead of @a outstream and @a errstream, and always showing property
- * changes and additions.
+ * instead of @a outstream and @a errstream, and with @a
+ * no_diff_added, @a ignore_properties, and @a properties_only always
+ * passed as @c FALSE (which means that additions and property changes
+ * are always transmitted).
  *
  * @deprecated Provided for backward compatibility with the 1.7 API.
  * @since New in 1.7.
@@ -3190,9 +3197,11 @@ svn_client_diff_peg6(const apr_array_hea
                      svn_client_ctx_t *ctx,
                      apr_pool_t *pool);
 
-/** Similar to svn_client_diff_peg6(), but with @a outfile and @a errfile,
- * instead of @a outstream and @a errstream, and always showing property
- * changes.
+/** Similar to svn_client_diff6_peg6(), but with @a outfile and @a errfile,
+ * instead of @a outstream and @a errstream, and with @a
+ * no_diff_added, @a ignore_properties, and @a properties_only always
+ * passed as @c FALSE (which means that additions and property changes
+ * are always transmitted).
  *
  * @deprecated Provided for backward compatibility with the 1.7 API.
  * @since New in 1.7.
@@ -3456,7 +3465,7 @@ typedef struct svn_client_automatic_merg
  * @a allow_switched_subtrees enable merging into a WC that is in any or all
  * of the states described by their names, but only if this function decides
  * that the merge will be in the same direction as the last automatic merge.
- * If, on the other hand, the merge turns out to be in the opposite
+ * If, on the other hand, the last automatic merge was in the opposite
  * direction (that is, if svn_client_automatic_merge_is_reintegrate_like()
  * would return true), then such states of the WC are not allowed regardless
  * of these flags.  This function merely records these flags in the
@@ -3482,8 +3491,9 @@ svn_client_find_automatic_merge(svn_clie
 /** Find out what kind of automatic merge would be needed, when the target
  * is only known as a repository location rather than a WC.
  *
- * Like svn_client_find_automatic_merge() except that @a source_path_or_url
- * at @a source_revision should refer to a repository location and not a WC.
+ * Like svn_client_find_automatic_merge() except that the target is
+ * specified by @a target_path_or_url at @a target_revision, which must
+ * refer to a repository location, instead of by a WC path argument.
  *
  * @note The result, @a *merge_p, is not intended for passing to
  * svn_client_do_automatic_merge().
@@ -3510,11 +3520,16 @@ svn_client_find_automatic_merge_no_wc(
 /** Perform an automatic merge.
  *
  * Perform a merge, according to the information stored in @a merge, into
- * the WC at @a target_wcpath.  The @a merge structure would typically come
- * from calling svn_client_find_automatic_merge().
+ * the WC at @a target_wcpath.  The @a merge structure must be obtained
+ * from svn_client_find_automatic_merge().
  *
  * The other parameters are as in svn_client_merge5().
  *
+ * Return an error if the WC contains local modifications, mixed revisions
+ * and/or switched subtrees, unless such states are allowed by the
+ * corresponding parameters passed to svn_client_find_automatic_merge()
+ * and the required merge is not reintegrate-like.
+ *
  * @since New in 1.8.
  */
 svn_error_t *
@@ -4559,7 +4574,8 @@ svn_client_copy(svn_client_commit_info_t
  * If @a allow_mixed_revisions is @c FALSE, #SVN_ERR_WC_MIXED_REVISIONS
  * will be raised if the move source is a mixed-revision subtree.
  * If @a allow_mixed_revisions is TRUE, a mixed-revision move source is
- * allowed. This parameter should be set to FALSE except where backwards
+ * allowed but the move will degrade to a copy and a delete without local
+ * move tracking. This parameter should be set to FALSE except where backwards
  * compatibility to svn_client_move6() is required.
  *
  * If @a metadata_only is @c TRUE and moving a file in a working copy,
@@ -4604,8 +4620,8 @@ svn_client_move7(const apr_array_header_
                  apr_pool_t *pool);
 
 /**
- * Similar to svn_client_move7(), but with allow_mixed_revisions always
- * set to @c TRUE and record_only always to @c FALSE.
+ * Similar to svn_client_move7(), but with @a allow_mixed_revisions always
+ * set to @c TRUE and @a metadata_only always to @c FALSE.
  *
  * @since New in 1.7.
  * @deprecated Provided for backward compatibility with the 1.7 API.
@@ -4982,8 +4998,9 @@ svn_client_revprop_set(const char *propn
  * #svn_prop_inherited_item_t->path_or_url members are absolute working copy
  * paths.
  *
- * Allocate @a *props, its keys, and its values in @a pool, use
- * @a scratch_pool for temporary allocations.
+ * Allocate @a *props (including keys and values) and @a *inherited_props
+ * (including its elements) in @a result_pool, use @a scratch_pool for
+ * temporary allocations.
  *
  * @a target is a WC absolute path or a URL.
  *
@@ -5037,8 +5054,8 @@ svn_client_propget5(apr_hash_t **props,
                     apr_pool_t *scratch_pool);
 
 /**
- * Similar to svn_client_propget5 but doesn't support the retrieval of the
- * properties inherited by @a target.
+ * Similar to svn_client_propget5 but with @a inherited_props always
+ * passed as NULL.
  *
  * @since New in 1.7.
  * @deprecated Provided for backward compatibility with the 1.8 API.
@@ -5197,9 +5214,9 @@ svn_client_proplist4(const char *target,
                      apr_pool_t *scratch_pool);
 
 /**
- * Similar to svn_client_proplist4(), except that the @a receiver type is
- * a #svn_proplist_receiver_t and there is no support for finding the
- * inherited properties for @a target and there is no separate scratch pool.
+ * Similar to svn_client_proplist4(), except that the @a receiver type
+ * is a #svn_proplist_receiver_t, @a get_target_inherited_props is
+ * always passed NULL, and there is no separate scratch pool.
  *
  * @since New in 1.5.
  *
@@ -5474,7 +5491,7 @@ svn_client_export(svn_revnum_t *result_r
  * Moreover, we will never mix items which are part of separate
  * externals, and will always finish listing an external before listing
  * the next one.
-
+ *
  * @a scratch_pool may be used for temporary allocations.
  *
  * @since New in 1.8.
@@ -5557,8 +5574,8 @@ svn_client_list3(const char *path_or_url
                  apr_pool_t *pool);
 
 
-/** Similar to svn_client_list3(), but with @a include_externals set to FALSE, 
- * and using a #svn_client_list_func2_t as callback.
+/** Similar to svn_client_list3(), but with @a include_externals set
+ * to FALSE, and using a #svn_client_list_func_t as callback.
  *
  * @deprecated Provided for backwards compatibility with the 1.7 API.
  *
@@ -6502,7 +6519,7 @@ svn_client_uuid_from_path(const char **u
  * If @a wri_abspath is not NULL, use the working copy identified by @a
  * wri_abspath to potentially avoid transferring unneeded data.
  *
- * @note This function is similar to svn_ra_open3(), but the caller avoids
+ * @note This function is similar to svn_ra_open4(), but the caller avoids
  * having to providing its own callback functions.
  * @since New in 1.8.
  */
@@ -6514,8 +6531,9 @@ svn_client_open_ra_session2(svn_ra_sessi
                            apr_pool_t *result_pool,
                            apr_pool_t *scratch_pool);
 
-/** Similar to svn_client_open_ra_session(), but doesn't allow passing a
- * working copy path.
+/** Similar to svn_client_open_ra_session(), but with @ wri_abspath
+ * always passed as NULL, and with the same pool used as both @a
+ * result_pool and @a scratch_pool.
  *
  * @since New in 1.3.
  * @deprecated Provided for backward compatibility with the 1.7 API.

Modified: subversion/branches/fsfs-format7/subversion/include/svn_cmdline.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_cmdline.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_cmdline.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_cmdline.h Sat Mar 30 20:02:27 2013
@@ -369,27 +369,6 @@ svn_cmdline_setup_auth_baton(svn_auth_ba
                              void *cancel_baton,
                              apr_pool_t *pool);
 
-/** Wrapper for apr_getopt_init(), which see.
- *
- * @since New in 1.4.
- *
- * This is a private API for Subversion's own use.
- */
-svn_error_t *
-svn_cmdline__getopt_init(apr_getopt_t **os,
-                         int argc,
-                         const char *argv[],
-                         apr_pool_t *pool);
-
-/* Determine whether interactive mode should be enabled, based on whether
- * the user passed the --non-interactive or --force-interactive options.
- * If neither option was passed, interactivity is enabled if standard
- * input is connected to a terminal device.
- * @since New in 1.8. */
-svn_boolean_t
-svn_cmdline__be_interactive(svn_boolean_t non_interactive,
-                            svn_boolean_t force_interactive);
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */



Mime
View raw message