You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2011/01/06 20:15:49 UTC

svn commit: r1056015 [2/8] - in /subversion/branches/performance: ./ build/ build/ac-macros/ build/generator/ contrib/client-side/svnmerge/ contrib/server-side/ contrib/server-side/mod_dontdothat/ contrib/server-side/svnstsw/src/ notes/commit-access-te...

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java Thu Jan  6 19:15:40 2011
@@ -55,14 +55,14 @@ public class ChangePath implements java.
     /**
      * A backward-compat constructor.
      */
-    public ChangePath(org.apache.subversion.javahl.ChangePath aChangePath)
+    public ChangePath(org.apache.subversion.javahl.types.ChangePath aChangePath)
     {
         this(aChangePath.getPath(), aChangePath.getCopySrcRevision(),
              aChangePath.getCopySrcPath(),
-              ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.add) ? 'A' :
-              ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.delete) ? 'D' :
-              ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.replace) ? 'R' :
-              ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.modify) ? 'M' :
+              ((aChangePath.getAction() == org.apache.subversion.javahl.types.ChangePath.Action.add) ? 'A' :
+              ((aChangePath.getAction() == org.apache.subversion.javahl.types.ChangePath.Action.delete) ? 'D' :
+              ((aChangePath.getAction() == org.apache.subversion.javahl.types.ChangePath.Action.replace) ? 'R' :
+              ((aChangePath.getAction() == org.apache.subversion.javahl.types.ChangePath.Action.modify) ? 'M' :
                 ' ')))),
              NodeKind.fromApache(aChangePath.getNodeKind()));
     }

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java Thu Jan  6 19:15:40 2011
@@ -53,7 +53,7 @@ public class ConflictVersion
     /**
      * A backward-compat constructor.
      */
-    public ConflictVersion(org.apache.subversion.javahl.ConflictVersion aVer)
+    public ConflictVersion(org.apache.subversion.javahl.types.ConflictVersion aVer)
     {
         this(aVer.getReposURL(), aVer.getPegRevision(), aVer.getPathInRepos(),
              NodeKind.fromApache(aVer.getNodeKind()));

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java Thu Jan  6 19:15:40 2011
@@ -121,7 +121,7 @@ public final class Depth
     {
         return (recurse ? unknown : immediates);
     }
-    
+
     public static org.apache.subversion.javahl.types.Depth toADepth(int depth)
     {
        switch(depth)

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java Thu Jan  6 19:15:40 2011
@@ -150,7 +150,7 @@ public class DirEntry implements java.io
     /**
      * A backward-compat constructor
      */
-    DirEntry(org.apache.subversion.javahl.DirEntry aEntry)
+    DirEntry(org.apache.subversion.javahl.types.DirEntry aEntry)
     {
         this(aEntry.getPath(), aEntry.getAbsPath(),
              NodeKind.fromApache(aEntry.getNodeKind()),

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java Thu Jan  6 19:15:40 2011
@@ -157,13 +157,13 @@ public class Info implements java.io.Ser
              checkAbsent(aInfo.getPath()), checkIncomplete(aInfo.getPath()),
              aInfo.getCopyFromRev(), aInfo.getCopyFromUrl());
     }
-    
+
     private static boolean checkAbsent(String path)
     {
     	File f = new File(path);
     	return !f.exists();
     }
-    
+
     /** See if the path is incomplete.  We currently have no way of getting
      *  this information from the existing info struct, so just return false.
      */

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java Thu Jan  6 19:15:40 2011
@@ -91,7 +91,7 @@ public class Lock implements java.io.Ser
         this.expirationDate = expirationDate;
     }
 
-    Lock(org.apache.subversion.javahl.Lock aLock)
+    Lock(org.apache.subversion.javahl.types.Lock aLock)
     {
         this(aLock.getOwner(), aLock.getPath(), aLock.getToken(),
              aLock.getComment(),

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java Thu Jan  6 19:15:40 2011
@@ -155,22 +155,22 @@ public class Revision implements java.io
         return new Revision.DateSpec(revisionDate);
     }
 
-    public org.apache.subversion.javahl.Revision toApache()
+    public org.apache.subversion.javahl.types.Revision toApache()
     {
-        return new org.apache.subversion.javahl.Revision(Kind.toAKind(revKind));
+        return new org.apache.subversion.javahl.types.Revision(Kind.toAKind(revKind));
     }
 
     public static Revision createFromApache(
-                                    org.apache.subversion.javahl.Revision aRev)
+                                    org.apache.subversion.javahl.types.Revision aRev)
     {
-        org.apache.subversion.javahl.Revision.Kind kind = aRev.getKind();
+        org.apache.subversion.javahl.types.Revision.Kind kind = aRev.getKind();
 
         switch (kind)
         {
             case number:
-                return getInstance(((org.apache.subversion.javahl.Revision.Number) aRev).getNumber());
+                return getInstance(((org.apache.subversion.javahl.types.Revision.Number) aRev).getNumber());
             case date:
-                return getInstance(((org.apache.subversion.javahl.Revision.DateSpec) aRev).getDate());
+                return getInstance(((org.apache.subversion.javahl.types.Revision.DateSpec) aRev).getDate());
             default:
                 return getInstance(Kind.fromAKind(kind));
         }
@@ -278,9 +278,9 @@ public class Revision implements java.io
             return (int)(revNumber ^ (revNumber >>> 32));
         }
 
-        public org.apache.subversion.javahl.Revision toApache()
+        public org.apache.subversion.javahl.types.Revision toApache()
         {
-            return org.apache.subversion.javahl.Revision.getInstance(revNumber);
+            return org.apache.subversion.javahl.types.Revision.getInstance(revNumber);
         }
     }
 
@@ -349,9 +349,9 @@ public class Revision implements java.io
             return revDate.hashCode();
         }
 
-        public org.apache.subversion.javahl.Revision toApache()
+        public org.apache.subversion.javahl.types.Revision toApache()
         {
-            return org.apache.subversion.javahl.Revision.getInstance(revDate);
+            return org.apache.subversion.javahl.types.Revision.getInstance(revDate);
         }
     }
 
@@ -368,7 +368,7 @@ public class Revision implements java.io
      */
     public static final class Kind implements RevisionKind
     {
-       public static int fromAKind(org.apache.subversion.javahl.Revision.Kind aKind)
+       public static int fromAKind(org.apache.subversion.javahl.types.Revision.Kind aKind)
        {
            switch (aKind)
            {
@@ -391,28 +391,28 @@ public class Revision implements java.io
                return RevisionKind.working;
            }
        }
-       
-       public static org.apache.subversion.javahl.Revision.Kind toAKind(int kind)
+
+       public static org.apache.subversion.javahl.types.Revision.Kind toAKind(int kind)
        {
            switch (kind)
            {
            default:
            case RevisionKind.unspecified:
-               return org.apache.subversion.javahl.Revision.Kind.unspecified;
+               return org.apache.subversion.javahl.types.Revision.Kind.unspecified;
            case RevisionKind.number:
-               return org.apache.subversion.javahl.Revision.Kind.number;
+               return org.apache.subversion.javahl.types.Revision.Kind.number;
            case RevisionKind.date:
-               return org.apache.subversion.javahl.Revision.Kind.date;
+               return org.apache.subversion.javahl.types.Revision.Kind.date;
            case RevisionKind.committed:
-               return org.apache.subversion.javahl.Revision.Kind.committed;
+               return org.apache.subversion.javahl.types.Revision.Kind.committed;
            case RevisionKind.previous:
-               return org.apache.subversion.javahl.Revision.Kind.previous;
+               return org.apache.subversion.javahl.types.Revision.Kind.previous;
            case RevisionKind.base:
-               return org.apache.subversion.javahl.Revision.Kind.base;
+               return org.apache.subversion.javahl.types.Revision.Kind.base;
            case RevisionKind.head:
-               return org.apache.subversion.javahl.Revision.Kind.head;
+               return org.apache.subversion.javahl.types.Revision.Kind.head;
            case RevisionKind.working:
-               return org.apache.subversion.javahl.Revision.Kind.working;
+               return org.apache.subversion.javahl.types.Revision.Kind.working;
            }
        }
     }

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java Thu Jan  6 19:15:40 2011
@@ -458,7 +458,7 @@ public class SVNAdmin
     {
         try
         {
-            Set<org.apache.subversion.javahl.Lock> aLocks =
+            Set<org.apache.subversion.javahl.types.Lock> aLocks =
                                                     aSVNAdmin.lslocks(
                                                         new File(path),
                                                         Depth.toADepth(
@@ -466,7 +466,7 @@ public class SVNAdmin
             Lock[] locks = new Lock[aLocks.size()];
 
             int i = 0;
-            for (org.apache.subversion.javahl.Lock lock : aLocks)
+            for (org.apache.subversion.javahl.types.Lock lock : aLocks)
             {
                 locks[i] = new Lock(lock);
                 i++;
@@ -645,7 +645,7 @@ public class SVNAdmin
             }
 
             if (val != null)
-                try 
+                try
                 {
                     outputer.write(val.getBytes());
                 }

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Thu Jan  6 19:15:40 2011
@@ -194,7 +194,7 @@ public class SVNClient implements SVNCli
                               changelists == null ? null
                                 : Arrays.asList(changelists),
         new org.apache.subversion.javahl.callback.StatusCallback () {
-         public void doStatus(org.apache.subversion.javahl.Status aStatus)
+         public void doStatus(org.apache.subversion.javahl.types.Status aStatus)
                     { callback.doStatus(new Status(aStatus)); }
                 });
         }
@@ -285,8 +285,8 @@ public class SVNClient implements SVNCli
                          pegRevision == null ? null : pegRevision.toApache(),
                          Depth.toADepth(depth), direntFields, fetchLocks,
         new org.apache.subversion.javahl.callback.ListCallback () {
-            public void doEntry(org.apache.subversion.javahl.DirEntry dirent,
-                                org.apache.subversion.javahl.Lock lock)
+            public void doEntry(org.apache.subversion.javahl.types.DirEntry dirent,
+                                org.apache.subversion.javahl.types.Lock lock)
             {
                 callback.doEntry(new DirEntry(dirent),
                                  lock == null ? null : new Lock(lock));
@@ -529,7 +529,7 @@ public class SVNClient implements SVNCli
             }
 
             public void singleMessage(
-                    Set<org.apache.subversion.javahl.ChangePath> aChangedPaths,
+                    Set<org.apache.subversion.javahl.types.ChangePath> aChangedPaths,
                     long revision, Map<String, byte[]> revprops,
                     boolean hasChildren)
             {
@@ -542,7 +542,7 @@ public class SVNClient implements SVNCli
                     changedPaths = new ChangePath[aChangedPaths.size()];
 
                     int i = 0;
-                    for (org.apache.subversion.javahl.ChangePath cp
+                    for (org.apache.subversion.javahl.types.ChangePath cp
                                                             : aChangedPaths)
                     {
                         changedPaths[i] = new ChangePath(cp);
@@ -903,7 +903,7 @@ public class SVNClient implements SVNCli
         {
             return aSVNClient.update(new HashSet<String>(Arrays.asList(paths)),
                                 revision == null ? null : revision.toApache(),
-                                Depth.toADepth(depth), depthIsSticky,
+                                Depth.toADepth(depth), depthIsSticky, false,
                                 ignoreExternals, allowUnverObstructions);
         }
         catch (org.apache.subversion.javahl.ClientException ex)
@@ -1458,7 +1458,7 @@ public class SVNClient implements SVNCli
             implements org.apache.subversion.javahl.callback.LogMessageCallback
         {
             public void singleMessage(
-                    Set<org.apache.subversion.javahl.ChangePath> aChangedPaths,
+                    Set<org.apache.subversion.javahl.types.ChangePath> aChangedPaths,
                     long revision, Map<String, byte[]> revprops,
                     boolean hasChildren)
             {
@@ -1469,7 +1469,7 @@ public class SVNClient implements SVNCli
                     changedPaths = new ChangePath[aChangedPaths.size()];
 
                     int i = 0;
-                    for (org.apache.subversion.javahl.ChangePath cp
+                    for (org.apache.subversion.javahl.types.ChangePath cp
                                                              : aChangedPaths)
                     {
                         changedPaths[i] = new ChangePath(cp);
@@ -1853,7 +1853,9 @@ public class SVNClient implements SVNCli
     {
         try
         {
-            aSVNClient.propertySet(path, name, value, Depth.toADepth(depth),
+            aSVNClient.propertySet(path, name,
+                                   value == null ? null : value.getBytes(),
+                                   Depth.toADepth(depth),
                                    changelists == null ? null
                                     : Arrays.asList(changelists),
                                    force, revpropTable, null);
@@ -2351,8 +2353,8 @@ public class SVNClient implements SVNCli
         	final List<org.apache.subversion.javahl.Info> infos =
         		new ArrayList<org.apache.subversion.javahl.Info>();
         	aSVNClient.info2(path,
-        					org.apache.subversion.javahl.Revision.HEAD,
-        					org.apache.subversion.javahl.Revision.HEAD,
+        					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()
         	{

Modified: subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java Thu Jan  6 19:15:40 2011
@@ -320,7 +320,7 @@ public class Status implements java.io.S
     /**
      * A backward-compat wrapper.
      */
-    public Status(org.apache.subversion.javahl.Status aStatus)
+    public Status(org.apache.subversion.javahl.types.Status aStatus)
     {
         this(aStatus.getPath(), aStatus.getUrl(),
              NodeKind.fromApache(aStatus.getNodeKind()),
@@ -871,7 +871,7 @@ public class Status implements java.io.S
     }
 
     private static int fromAStatusKind(
-                            org.apache.subversion.javahl.Status.Kind aKind)
+                            org.apache.subversion.javahl.types.Status.Kind aKind)
     {
         if (aKind == null)
             return StatusKind.none;

Modified: subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Thu Jan  6 19:15:40 2011
@@ -222,7 +222,6 @@ public class BasicTests extends SVNTests
         PrintWriter pw;
         Status status;
         MyStatusCallback statusCallback;
-        MyCommitCallback commitCallback = new MyCommitCallback();
         long rev;             // Resulting rev from co or update
         long expectedRev = 2;  // Keeps track of the latest rev committed
 
@@ -234,10 +233,7 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(),
                               thisTest.getUrl().toString(), "A/D/G/rho",
                               NodeKind.file, CommitItemStateFlags.TextMods);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().setItemWorkingCopyRevision("A/D/G/rho", rev);
         thisTest.getWc().setItemContent("A/D/G/rho",
@@ -258,18 +254,13 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/D/G/pi", NodeKind.file,
                               CommitItemStateFlags.Delete);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().removeItem("A/D/G/pi");
 
         thisTest.getWc().setItemWorkingCopyRevision("A/D/G", rev);
         assertEquals("wrong revision from update",
-                 client.update(thisTest.getWCPathSet("/A/D/G"),
-                               null, Depth.unknown, false, false, false)[0],
-                     rev);
+                     update(thisTest, "/A/D/G"), rev);
         long GCommitRev = rev;
 
         // ----- r4: modify file A/D/G/tau --------------------------
@@ -280,10 +271,7 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/D/G/tau",NodeKind.file,
                               CommitItemStateFlags.TextMods);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().setItemWorkingCopyRevision("A/D/G/tau", rev);
         thisTest.getWc().setItemContent("A/D/G/tau",
@@ -303,10 +291,7 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/C", NodeKind.dir,
                               CommitItemStateFlags.Delete);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().removeItem("A/C");
         long CCommitRev = rev;
@@ -318,10 +303,7 @@ public class BasicTests extends SVNTests
         client.add(dir.getAbsolutePath(), Depth.infinity, false, false, false);
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/B/I", NodeKind.dir, CommitItemStateFlags.Add);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().addItem("A/B/I", null);
         statusCallback = new MyStatusCallback();
@@ -335,18 +317,13 @@ public class BasicTests extends SVNTests
         // ----- r7: Update then commit prop change on root dir -----
         thisTest.getWc().setRevision(rev);
         assertEquals("wrong revision from update",
-                     client.update(thisTest.getWCPathSet(), null,
-                            Depth.unknown, false, false, false)[0], rev);
+                     update(thisTest), rev);
         thisTest.checkStatus();
-        client.propertySet(thisTest.getWCPath(), "propname", "propval",
-                Depth.empty, null, false, null, null);
+        setprop(thisTest.getWCPath(), "propname", "propval");
         thisTest.getWc().setItemPropStatus("", Status.Kind.modified);
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                              null, NodeKind.dir, CommitItemStateFlags.PropMods);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().setItemWorkingCopyRevision("", rev);
         thisTest.getWc().setItemPropStatus("", Status.Kind.normal);
@@ -361,10 +338,7 @@ public class BasicTests extends SVNTests
                               "A/D/H/nu", NodeKind.file,
                               CommitItemStateFlags.TextMods +
                               CommitItemStateFlags.Add);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().addItem("A/D/H/nu", "This is the file 'nu'.");
         statusCallback = new MyStatusCallback();
@@ -376,15 +350,11 @@ public class BasicTests extends SVNTests
         String nuAuthor = status.getLastCommitAuthor();
 
         // ----- r9: Prop change on A/B/F ---------------------------
-        client.propertySet(thisTest.getWCPath() + "/A/B/F", "propname",
-                           "propval", Depth.empty, null, false, null, null);
+        setprop(thisTest.getWCPath() + "/A/B/F", "propname", "propval");
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/B/F", NodeKind.dir,
                               CommitItemStateFlags.PropMods);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().setItemPropStatus("A/B/F", Status.Kind.normal);
         thisTest.getWc().setItemWorkingCopyRevision("A/B/F", rev);
@@ -402,10 +372,7 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/D/H/chi", NodeKind.file,
                               CommitItemStateFlags.Delete);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().removeItem("A/D/G/pi");
 
@@ -418,10 +385,7 @@ public class BasicTests extends SVNTests
                               "A/D/H/chi", NodeKind.file,
                               CommitItemStateFlags.TextMods +
                               CommitItemStateFlags.Add);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().addItem("A/D/H/chi",
                                  "This is the replacement file 'chi'.");
@@ -439,10 +403,7 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/B/E", NodeKind.dir,
                               CommitItemStateFlags.Delete);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().removeItem("A/B/E/alpha");
         thisTest.getWc().removeItem("A/B/E/beta");
@@ -450,9 +411,7 @@ public class BasicTests extends SVNTests
 
         thisTest.getWc().setItemWorkingCopyRevision("A/B", rev);
         assertEquals("wrong revision from update",
-                 client.update(thisTest.getWCPathSet("/A/B"),
-                               null, Depth.unknown, false, false, false)[0],
-                     rev);
+                     update(thisTest, "/A/B"), rev);
         Info Binfo = collectInfos(thisTest.getWCPath() + "/A/B", null, null,
                                    Depth.empty, null)[0];
         long BCommitDate = Binfo.getLastChangedDate().getTime();
@@ -466,16 +425,12 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/D/H/psi", NodeKind.file,
                               CommitItemStateFlags.Delete);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         thisTest.getWc().removeItem("A/D/H/psi");
         thisTest.getWc().setRevision(rev);
         assertEquals("wrong revision from update",
-                     client.update(thisTest.getWCPathSet(), null,
-                            Depth.unknown, false, false, false)[0], rev);
+                     update(thisTest), rev);
         thisTest.getWc().addItem("A/D/H/psi", null);
         dir = new File(thisTest.getWorkingCopy(), "A/D/H/psi");
         dir.mkdir();
@@ -483,10 +438,7 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(), thisTest.getUrl().toString(),
                               "A/D/H/psi", NodeKind.dir,
                               CommitItemStateFlags.Add);
-        client.commit(thisTest.getWCPathSet(), Depth.infinity,
-                      false, false, null, null, new ConstMsg("log msg"),
-                      commitCallback);
-        rev = commitCallback.getRevision();
+        rev = commit(thisTest, "log msg");
         assertEquals("wrong revision number from commit", rev, expectedRev++);
         statusCallback = new MyStatusCallback();
         client.status(thisTest.getWCPath() + "/A/D/H/psi", Depth.immediates,
@@ -503,7 +455,7 @@ public class BasicTests extends SVNTests
         assertEquals("wrong revision from update",
                      client.update(thisTest.getWCPathSet(),
                                    Revision.getInstance(1), Depth.unknown,
-                                   false, false, false)[0],
+                                   false, false, false, false)[0],
                      1);
         thisTest.getWc().setRevision(1);
 
@@ -691,12 +643,14 @@ public class BasicTests extends SVNTests
                                                  "iota"),
                                         false);
 
-        client.propertySet(itemPath, "abc", "def", Depth.empty, null, false,
-                null, null);
+        byte[] BINARY_DATA = {-12, -125, -51, 43, 5, 47, 116, -72, -120,
+                2, -98, -100, -73, 61, 118, 74, 36, 38, 56, 107, 45, 91, 38, 107, -87,
+                119, -107, -114, -45, -128, -69, 96};
+        setprop(itemPath, "abc", BINARY_DATA);
         Map<String, byte[]> properties = collectProperties(itemPath, null,
                                                     null, Depth.empty, null);
 
-        assertEquals("def", new String(properties.get("abc")));
+        assertTrue(Arrays.equals(BINARY_DATA, properties.get("abc")));
 
         wc.setItemPropStatus("iota", Status.Kind.modified);
         thisTest.checkStatus();
@@ -705,8 +659,8 @@ public class BasicTests extends SVNTests
         itemPath = fileToSVNPath(new File(thisTest.getWCPath(),
                                           "/A/B/E/alpha"),
                                  false);
-        client.propertyCreate(itemPath, "cqcq", "qrz", Depth.empty, null,
-                              false, null);
+        String alphaVal = "qrz";
+        setprop(itemPath, "cqcq", alphaVal.getBytes());
 
         final Map<String, Map<String, byte[]>> propMaps =
                                     new HashMap<String, Map<String, byte[]>>();
@@ -719,7 +673,7 @@ public class BasicTests extends SVNTests
         for (String key : propMap.keySet())
         {
             assertEquals("cqcq", key);
-            assertEquals("qrz", new String(propMap.get(key)));
+            assertEquals(alphaVal, new String(propMap.get(key)));
         }
 
         wc.setItemPropStatus("A/B/E/alpha", Status.Kind.modified);
@@ -774,9 +728,7 @@ public class BasicTests extends SVNTests
 
         // update the backup test
         assertEquals("wrong revision number from update",
-                     client.update(backupTest.getWCPathSet(), null,
-                                   Depth.unknown, false, false, false)[0],
-                     2);
+                     update(backupTest), 2);
 
         // set the expected working copy layout for the backup test
         backupTest.getWc().setItemWorkingCopyRevision("A/mu", 2);
@@ -818,9 +770,7 @@ public class BasicTests extends SVNTests
 
         // update the working copy
         assertEquals("wrong revision from update",
-                     client.update(thisTest.getWCPathSet(), null,
-                            Depth.unknown, false, false, false)[0],
-                     2);
+                     update(thisTest), 2);
 
         // check the status of the working copy
         thisTest.checkStatus();
@@ -881,9 +831,7 @@ public class BasicTests extends SVNTests
 
         // update the WC to get new folder and confirm the copy
         assertEquals("wrong revision number from update",
-                     client.update(thisTest.getWCPathSet(), null,
-                                   Depth.unknown, false, false, false)[0],
-                     3);
+                     update(thisTest), 3);
     }
 
     /**
@@ -1111,9 +1059,7 @@ public class BasicTests extends SVNTests
 
         // update the backup working copy
         assertEquals("wrong revision number from update",
-                     client.update(backupTest.getWCPathSet(), null,
-                                   Depth.unknown, false, false, false)[0],
-                     3);
+                     update(backupTest), 3);
 
         // check the status of the backup working copy
         backupTest.checkStatus();
@@ -1221,9 +1167,7 @@ public class BasicTests extends SVNTests
 
         // update the backup working copy from the repository
         assertEquals("wrong revision number from update",
-                     client.update(backupTest.getWCPathSet(), null,
-                            Depth.unknown, false, false, false)[0],
-                     2);
+                     update(backupTest), 2);
 
         // check the status of the backup working copy
         backupTest.checkStatus();
@@ -1430,13 +1374,13 @@ public class BasicTests extends SVNTests
         thisTest.getWc().setItemTextStatus("A/D/H/chi", Status.Kind.modified);
 
         // set a property on A/D/G/rho file
-        client.propertySet(thisTest.getWCPath()+"/A/D/G/rho", "abc", "def",
-                Depth.infinity, null, false, null, null);
+        client.propertySet(thisTest.getWCPath()+"/A/D/G/rho", "abc",
+                           (new String("def")).getBytes(),
+                           Depth.infinity, null, false, null, null);
         thisTest.getWc().setItemPropStatus("A/D/G/rho", Status.Kind.modified);
 
         // set a property on A/B/F directory
-        client.propertySet(thisTest.getWCPath()+"/A/B/F", "abc", "def",
-                Depth.empty, null, false, null, null);
+        setprop(thisTest.getWCPath()+"/A/B/F", "abc", "def");
         thisTest.getWc().setItemPropStatus("A/B/F", Status.Kind.modified);
 
         // create a unversioned A/C/sigma file
@@ -1775,8 +1719,7 @@ public class BasicTests extends SVNTests
 
         // update the working
         assertEquals("wrong revision from update",
-                client.update(thisTest.getWCPathSet(), null,
-                              Depth.unknown, false, false, false)[0],2);
+                     update(thisTest), 2);
         thisTest.getWc().addItem("dirA", null);
         thisTest.getWc().setItemWorkingCopyRevision("dirA",2);
         thisTest.getWc().addItem("dirA/dirB", null);
@@ -1940,9 +1883,8 @@ public class BasicTests extends SVNTests
         removeDirOrFile(dir);
 
         // udpate the working copy
-        assertEquals("wrong revision from update", 2,
-                     client.update(thisTest.getWCPathSet(), null,
-                     Depth.unknown, false, false, false)[0]);
+        assertEquals("wrong revision from update",
+                     update(thisTest), 2);
         thisTest.getWc().addItem("dir", null);
         thisTest.getWc().addItem("dir/foo.c", "");
 
@@ -2038,9 +1980,7 @@ public class BasicTests extends SVNTests
         Set<String> muPathSet = new HashSet<String>(1);
         muPathSet.add(thisTest.getWCPath()+"/A/mu");
 
-        client.propertySet(thisTest.getWCPath()+"/A/mu",
-                           Property.NEEDS_LOCK, "*", Depth.empty,
-                           null, false, null, null);
+        setprop(thisTest.getWCPath()+"/A/mu", Property.NEEDS_LOCK, "*");
 
         addExpectedCommitItem(thisTest.getWCPath(),
                               thisTest.getUrl().toString(), "A/mu",NodeKind.file,
@@ -2443,8 +2383,7 @@ public class BasicTests extends SVNTests
                             false, false, null, null);
 
         // update the branch WC (to r5) before merge
-        client.update(thisTest.getWCPathSet("/branches"), Revision.HEAD,
-                      Depth.unknown, false, false, false);
+        update(thisTest, "/branches");
 
         String branchPath = thisTest.getWCPath() + "/branches/A";
         String modUrl = thisTest.getUrl() + "/A";
@@ -2476,8 +2415,7 @@ public class BasicTests extends SVNTests
         catch(ClientException e)
         {
             // update the WC (to r6) and try again
-            client.update(thisTest.getWCPathSet(), Revision.HEAD,
-                          Depth.unknown, false, false, false);
+            update(thisTest);
             client.mergeReintegrate(branchUrl, Revision.HEAD,
                                     thisTest.getWCPath() + "/A", false);
         }
@@ -2524,7 +2462,7 @@ public class BasicTests extends SVNTests
 
         // Backdate the WC to the previous revision (r1).
         client.update(thisTest.getWCPathSet(), Revision.getInstance(1),
-                      Depth.unknown, false, false, false);
+                      Depth.unknown, false, false, false, false);
 
         // Prep for a merge conflict by changing A/mu in a different
         // way.
@@ -2630,12 +2568,11 @@ public class BasicTests extends SVNTests
                     new ConstMsg("create A branch"), null);
 
         // update the WC (to r3) so that it has the branches folder
-        client.update(thisTest.getWCPathSet(), Revision.HEAD,
-                      Depth.unknown, false, false, false);
+        update(thisTest);
 
         return thisTest;
     }
-    
+
     /**
      * Test the patch API.  This doesn't yet test the results, it only ensures
      * that execution goes down to the C layer and back.
@@ -2647,7 +2584,7 @@ public class BasicTests extends SVNTests
     	File patchInput = new File(super.localTmp, thisTest.testName);
     	final String iotaPath = thisTest.getWCPath().replace('\\', '/') + "/iota";
         final String NL = System.getProperty("line.separator");
-    	
+
     	final String patchText = "Index: iota" + NL +
             "===================================================================" + NL +
             "--- iota\t(revision 1)" + NL +
@@ -2655,12 +2592,12 @@ public class BasicTests extends SVNTests
             "@@ -1 +1,2 @@" + NL +
             " This is the file 'iota'." + NL +
             "+No, this is *really* the file 'iota'." + NL;
-    	
+
         PrintWriter writer = new PrintWriter(new FileOutputStream(patchInput));
         writer.print(patchText);
         writer.flush();
         writer.close();
-    	
+
     	client.patch(patchInput.getAbsolutePath(), iotaPath, false, 0,
     			false, true, true,
     			new PatchCallback() {
@@ -2766,8 +2703,7 @@ public class BasicTests extends SVNTests
             "## -0,0 +1 ##" + NL +
             "+Test property value." + NL;
 
-        client.propertySet(aPath, "testprop", "Test property value.",
-                Depth.empty, null, false, null, null);
+        setprop(aPath, "testprop", "Test property value.");
         client.diff(aPath, Revision.BASE, aPath, Revision.WORKING, wcPath,
                     diffOutput.getPath(), Depth.infinity, null, true, true,
                     false, false);
@@ -2785,8 +2721,7 @@ public class BasicTests extends SVNTests
             "## -0,0 +1 ##" + NL +
             "+Test property value." + NL;
 
-        client.propertySet(aPath, "testprop", "Test property value.",
-                Depth.empty, null, false, null, null);
+        setprop(aPath, "testprop", "Test property value.");
         client.diff(aPath, Revision.BASE, aPath, Revision.WORKING, aPath,
                     diffOutput.getPath(), Depth.infinity, null, true, true,
                     false, false);
@@ -2813,8 +2748,7 @@ public class BasicTests extends SVNTests
 
                 if (operativeRevision == 2) {
                     // Set svn:eol-style=native on iota
-                    client.propertyCreate(iotaPath, "svn:eol-style", "native",
-                                          Depth.empty, null, false, null);
+                    setprop(iotaPath, "svn:eol-style", "native");
                     Set<String> paths = new HashSet<String>(1);
                     paths.add(iotaPath);
                     addExpectedCommitItem(thisTest.getWCPath(),
@@ -2987,8 +2921,7 @@ public class BasicTests extends SVNTests
         client.notification2(notify);
         // update the test
         assertEquals("wrong revision number from update",
-                client.update(thisTest.getWCPathSet(), null,
-                        Depth.unknown, false, false, false)[0], 1);
+                     update(thisTest), 1);
     }
 
     public void testBasicCancelOperation() throws Throwable
@@ -3013,8 +2946,7 @@ public class BasicTests extends SVNTests
         // update the test to try to cancel an operation
         try
         {
-            client.update(thisTest.getWCPathSet(), null,
-                          Depth.unknown, false, false, false);
+            update(thisTest);
             fail("missing exception for canceled operation");
         }
         catch (ClientException e)
@@ -3045,8 +2977,7 @@ public class BasicTests extends SVNTests
         // Perform an update to exercise the progress notification.
         try
         {
-            client.update(thisTest.getWCPathSet(), null,
-                          Depth.unknown, false, false, false);
+            update(thisTest);
             fail("No progress reported");
         }
         catch (RuntimeException progressReported)
@@ -3110,9 +3041,7 @@ public class BasicTests extends SVNTests
 
         // update the tc test
         assertEquals("wrong revision number from update",
-                     client.update(tcTest.getWCPathSet(), null,
-                                   Depth.unknown, false, false, false)[0],
-                     2);
+                     update(tcTest), 2);
 
         // set the expected working copy layout for the tc test
         tcTest.getWc().addItem("A/B/F/alpha",
@@ -3229,9 +3158,7 @@ public class BasicTests extends SVNTests
                               CommitItemStateFlags.TextMods +
                               CommitItemStateFlags.Add);
         assertEquals("wrong revision number from commit",
-                     client.commit(thisTest.getWCPathSet(),
-                                   "log msg", Depth.infinity, false, false,
-                                   null, null), 2);
+                     commit(thisTest, "log msg"), 2);
         thisTest.getWc().addItem("A/D/H/nu", "This is the file 'nu'.");
         statusCallback = new MyStatusCallback();
         client.status(thisTest.getWCPath() + "/A/D/H/nu", Depth.immediates,
@@ -3248,8 +3175,7 @@ public class BasicTests extends SVNTests
         try
         {
             // obstructed update should fail
-            client.update(backupTest.getWCPathSet(), null,
-                          Depth.unknown, false, false, false);
+            update(backupTest);
             fail("obstructed update should fail by default");
         }
         catch (ClientException expected)
@@ -3567,13 +3493,13 @@ public class BasicTests extends SVNTests
                                              Collection<String> changelists)
         throws ClientException
     {
-       final Map<String, Map<String, byte[]>> propMap = 
+       final Map<String, Map<String, byte[]>> propMap =
             new HashMap<String, Map<String, byte[]>>();
-       
+
         client.properties(path, revision, revision, depth, changelists,
                 new ProplistCallback () {
             public void singlePath(String path, Map<String, byte[]> props)
-            { propMap.put(path, props); }          
+            { propMap.put(path, props); }
         });
 
         return propMap.get(path);
@@ -3634,11 +3560,11 @@ public class BasicTests extends SVNTests
         throws ClientException
     {
        final List<Info> infos = new ArrayList<Info>();
-       
+
         client.info2(pathOrUrl, revision, pegRevision, depth, changelists,
                      new InfoCallback () {
             public void singleInfo(Info info)
-            { infos.add(info); }           
+            { infos.add(info); }
         });
         return infos.toArray(new Info[infos.size()]);
     }
@@ -3997,4 +3923,45 @@ public class BasicTests extends SVNTests
             }
         }
     }
+
+    /** A helper which calls update with a bunch of default args. */
+    private long update(OneTest thisTest)
+        throws ClientException
+    {
+        return client.update(thisTest.getWCPathSet(), null,
+                             Depth.unknown, false, false, false, false)[0];
+    }
+
+    /** A helper which calls update with a bunch of default args. */
+    private long update(OneTest thisTest, String subpath)
+        throws ClientException
+    {
+        return client.update(thisTest.getWCPathSet(subpath), null,
+                             Depth.unknown, false, false, false, false)[0];
+    }
+
+    private void setprop(String path, String name, String value)
+        throws ClientException
+    {
+        client.propertySet(path, name, value != null ? value.getBytes() : null,
+                           Depth.empty, null, false, null, null);
+    }
+
+    private void setprop(String path, String name, byte[] value)
+        throws ClientException
+    {
+        client.propertySet(path, name, value, Depth.empty,
+                           null, false, null, null);
+    }
+
+    private long commit(OneTest thisTest, String msg)
+        throws ClientException
+    {
+        MyCommitCallback commitCallback = new MyCommitCallback();
+
+        client.commit(thisTest.getWCPathSet(), Depth.infinity,
+                      false, false, null, null, new ConstMsg(msg),
+                      commitCallback);
+        return commitCallback.getRevision();
+    }
 }

Modified: subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java Thu Jan  6 19:15:40 2011
@@ -240,7 +240,7 @@ class SVNTests extends TestCase
                               NodeKind.none, CommitItemStateFlags.Add);
         client.doImport(greekFiles.getAbsolutePath(),
                        makeReposUrl(greekRepos).toString(),
-                        Depth.infinity, false, false, null, 
+                        Depth.infinity, false, false, null,
                         new MyCommitMessage(), null);
         admin.dump(greekRepos, new FileOutputStream(greekDump),
                    null, null, false, false, null);
@@ -287,7 +287,7 @@ class SVNTests extends TestCase
     private static class DefaultPromptUserPassword implements UserPasswordCallback
     {
 
-        public int askTrustSSLServer(String info, boolean allowPermanently) 
+        public int askTrustSSLServer(String info, boolean allowPermanently)
         {
             return UserPasswordCallback.AcceptTemporary;
         }
@@ -323,25 +323,25 @@ class SVNTests extends TestCase
         }
 
         public String askQuestion(String realm, String question,
-                boolean showAnswer, boolean maySave) 
+                boolean showAnswer, boolean maySave)
         {
             return "";
         }
 
-        public boolean userAllowedSave() 
+        public boolean userAllowedSave()
         {
             return false;
         }
     }
 
-    private static class DefaultProgressListener implements ProgressCallback 
+    private static class DefaultProgressListener implements ProgressCallback
     {
 
-        public void onProgress(ProgressEvent event) 
+        public void onProgress(ProgressEvent event)
         {
             // Do nothing, just receive the event
         }
-        
+
     }
     /**
      * build a sample directory with test files to be used as import for
@@ -421,7 +421,7 @@ class SVNTests extends TestCase
      * Create the url for the repository to be used for the tests.
      * @param file  the directory of the repository
      * @return the URL for the repository
-     * @throws SubversionException 
+     * @throws SubversionException
      */
     protected URI makeReposUrl(File file) throws SubversionException
     {

Modified: subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java Thu Jan  6 19:15:40 2011
@@ -32,7 +32,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Date;
 
-import org.apache.subversion.javahl.types.NodeKind;
+import org.apache.subversion.javahl.types.*;
 
 import junit.framework.Assert;
 /**
@@ -528,7 +528,7 @@ public class WC
         // result array
         for (Item item : items.values())
         {
-            Assert.assertTrue("item '" + item.myPath + 
+            Assert.assertTrue("item '" + item.myPath +
                               "' in working copy not found in status",
                     item.touched);
         }

Modified: subversion/branches/performance/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java (original)
+++ subversion/branches/performance/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java Thu Jan  6 19:15:40 2011
@@ -282,7 +282,7 @@ class SVNTests extends TestCase
     private static class DefaultPromptUserPassword implements PromptUserPassword3
     {
 
-        public int askTrustSSLServer(String info, boolean allowPermanently) 
+        public int askTrustSSLServer(String info, boolean allowPermanently)
         {
             return PromptUserPassword3.AcceptTemporary;
         }
@@ -318,25 +318,25 @@ class SVNTests extends TestCase
         }
 
         public String askQuestion(String realm, String question,
-                boolean showAnswer, boolean maySave) 
+                boolean showAnswer, boolean maySave)
         {
             return "";
         }
 
-        public boolean userAllowedSave() 
+        public boolean userAllowedSave()
         {
             return false;
         }
     }
 
-    private static class DefaultProgressListener implements ProgressListener 
+    private static class DefaultProgressListener implements ProgressListener
     {
 
-        public void onProgress(ProgressEvent event) 
+        public void onProgress(ProgressEvent event)
         {
             // Do nothing, just receive the event
         }
-        
+
     }
 
     /**

Modified: subversion/branches/performance/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c (original)
+++ subversion/branches/performance/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c Thu Jan  6 19:15:40 2011
@@ -457,7 +457,7 @@ svn_error_t *svn_swig_pl_callback_thunk(
 /*** Editor Wrapping ***/
 
 /* this could be more perlish */
-typedef struct {
+typedef struct item_baton {
     SV *editor;     /* the editor handling the callbacks */
     SV *baton;      /* the dir/file baton (or NULL for edit baton) */
 } item_baton;
@@ -1343,7 +1343,7 @@ apr_pool_t *svn_swig_pl_make_pool(SV *ob
 
 /* stream interpolability with io::handle */
 
-typedef struct  {
+typedef struct io_baton_t {
     SV *obj;
     IO *io;
 } io_baton_t;

Modified: subversion/branches/performance/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/performance/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Thu Jan  6 19:15:40 2011
@@ -1474,7 +1474,7 @@ static svn_error_t *type_conversion_erro
 /*** Editor Wrapping ***/
 
 /* this baton is used for the editor, directory, and file batons. */
-typedef struct {
+typedef struct item_baton {
   PyObject *editor;     /* the editor handling the callbacks */
   PyObject *baton;      /* the dir/file baton (or NULL for edit baton) */
 } item_baton;
@@ -4115,7 +4115,7 @@ svn_swig_py_txdelta_window_t_ops_get(svn
 {
   PyObject *result = PyList_New(window->num_ops);
   int i;
-  
+
   for (i = 0; i < window->num_ops; ++i)
       PyList_SET_ITEM(result, i,
                       svn_swig_NewPointerObj(window->ops + i, op_type_info,

Modified: subversion/branches/performance/subversion/bindings/swig/python/svn/core.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/python/svn/core.py?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/python/svn/core.py (original)
+++ subversion/branches/performance/subversion/bindings/swig/python/svn/core.py Thu Jan  6 19:15:40 2011
@@ -68,7 +68,7 @@ class SubversionException(Exception):
 
   def __str__(self):
     dump = '%d - %s' % (self.apr_err, self.message)
-    if self.file != None:    
+    if self.file != None:
       dump = dump + '\n at %s:%d' % (self.file, self.line)
     if self.child != None:
       dump = dump + '\n' + self.child.__str__()

Modified: subversion/branches/performance/subversion/bindings/swig/python/tests/core.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/python/tests/core.py?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/python/tests/core.py (original)
+++ subversion/branches/performance/subversion/bindings/swig/python/tests/core.py Thu Jan  6 19:15:40 2011
@@ -55,11 +55,11 @@ class SubversionCoreTestCase(unittest.Te
     rev = svn.core.svn_opt_revision_t()
     rev.kind = svn.core.svn_opt_revision_head
     ctx = svn.client.create_context()
-    
+
     class Receiver:
       def __call__(self, path, info, pool):
         raise self.e
-    
+
     rec = Receiver()
     args = (repos_uri, rev, rev, rec, svn.core.svn_depth_empty, None, ctx)
 
@@ -67,7 +67,7 @@ class SubversionCoreTestCase(unittest.Te
       # ordinary Python exceptions must be passed through
       rec.e = TypeError()
       self.assertRaises(TypeError, svn.client.info2, *args)
-      
+
       # SubversionException will be translated into an svn_error_t, propagated
       # through the call chain and translated back to SubversionException.
       rec.e = svn.core.SubversionException("Bla bla bla.",
@@ -76,14 +76,14 @@ class SubversionCoreTestCase(unittest.Te
       rec.e.child = svn.core.SubversionException("Yada yada.",
                                              svn.core.SVN_ERR_INCOMPLETE_DATA)
       self.assertRaises(svn.core.SubversionException, svn.client.info2, *args)
-      
+
       # It must remain unchanged through the process.
       try:
         svn.client.info2(*args)
       except svn.core.SubversionException, exc:
         # find the original exception
         while exc.file != rec.e.file: exc = exc.child
-        
+
         self.assertEqual(exc.message, rec.e.message)
         self.assertEqual(exc.apr_err, rec.e.apr_err)
         self.assertEqual(exc.line, rec.e.line)
@@ -92,7 +92,7 @@ class SubversionCoreTestCase(unittest.Te
         self.assertEqual(exc.child.child, None)
         self.assertEqual(exc.child.file, None)
         self.assertEqual(exc.child.line, 0)
-        
+
       # Incomplete SubversionExceptions must trigger Python exceptions, which
       # will be passed through.
       rec.e = svn.core.SubversionException("No fields except message.")

Modified: subversion/branches/performance/subversion/bindings/swig/python/tests/delta.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/python/tests/delta.py?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/python/tests/delta.py (original)
+++ subversion/branches/performance/subversion/bindings/swig/python/tests/delta.py Thu Jan  6 19:15:40 2011
@@ -46,15 +46,15 @@ class DeltaTestCase(unittest.TestCase):
     window_handler, baton = \
        svn.delta.tx_apply(src_stream, target_stream, None)
     window_handler(None, baton)
-    
+
   def testTxdeltaWindowT(self):
     """Test the svn_txdelta_window_t wrapper."""
     a = StringIO("abc\ndef\n")
     b = StringIO("def\nghi\n")
-    
+
     delta_stream = svn.delta.svn_txdelta(a, b)
     window = svn.delta.svn_txdelta_next_window(delta_stream)
-    
+
     self.assert_(window.sview_offset + window.sview_len <= len(a.getvalue()))
     self.assert_(window.tview_len <= len(b.getvalue()))
     self.assert_(len(window.new_data) > 0)

Modified: subversion/branches/performance/subversion/bindings/swig/python/tests/ra.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/python/tests/ra.py?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/python/tests/ra.py (original)
+++ subversion/branches/performance/subversion/bindings/swig/python/tests/ra.py Thu Jan  6 19:15:40 2011
@@ -28,7 +28,7 @@ if version_info[0] >= 3:
 else:
   # Python <3.0
   from StringIO import StringIO
-  
+
 import utils
 
 class SubversionRepositoryAccessTestCase(unittest.TestCase):
@@ -40,7 +40,7 @@ class SubversionRepositoryAccessTestCase
     ra.initialize()
     self.temper = utils.Temper()
     # Isolate each test from the others with a fresh repository.
-    
+
     # Open repository directly for cross-checking
     (self.repos, _, self.repos_uri) = self.temper.alloc_known_repo(
       'trac/versioncontrol/tests/svnrepos.dump', suffix='-ra')

Modified: subversion/branches/performance/subversion/bindings/swig/python/tests/repository.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/python/tests/repository.py?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/python/tests/repository.py (original)
+++ subversion/branches/performance/subversion/bindings/swig/python/tests/repository.py Thu Jan  6 19:15:40 2011
@@ -72,7 +72,7 @@ class SubversionRepositoryTestCase(unitt
       revs.append(rev)
       raise core.SubversionException(apr_err=core.SVN_ERR_CEASE_INVOCATION,
                                      message="Hi from history_lookup")
-    
+
     repos.history2(self.fs, '/trunk/README2.txt', history_lookup, None, 0,
                    self.rev, True)
     self.assertEqual(len(revs), 1)

Modified: subversion/branches/performance/subversion/bindings/swig/python/tests/utils.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/python/tests/utils.py?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/python/tests/utils.py (original)
+++ subversion/branches/performance/subversion/bindings/swig/python/tests/utils.py Thu Jan  6 19:15:40 2011
@@ -64,7 +64,7 @@ class Temper(object):
     repos.svn_repos_load_fs2(handle, open(dump_path, 'rb'), StringIO(),
                              repos.load_uuid_default, None, False, False, None)
     return (handle, repo_path, repo_uri)
-    
+
 def file_uri_for_path(path):
   """Return the file: URI corresponding to the given path."""
   uri_path = urllib.pathname2url(path)

Modified: subversion/branches/performance/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c (original)
+++ subversion/branches/performance/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c Thu Jan  6 19:15:40 2011
@@ -1012,7 +1012,7 @@ c2r_svn_string(void *value, void *ctx)
   return c2r_string2(s->data);
 }
 
-typedef struct {
+typedef struct prop_hash_each_arg_t {
   apr_array_header_t *array;
   apr_pool_t *pool;
 } prop_hash_each_arg_t;
@@ -1576,19 +1576,19 @@ svn_swig_rb_hash_to_apr_hash_merge_range
 
 
 /* callback */
-typedef struct {
+typedef struct callback_baton_t {
   VALUE pool;
   VALUE receiver;
   ID message;
   VALUE args;
 } callback_baton_t;
 
-typedef struct {
+typedef struct callback_rescue_baton_t {
   svn_error_t **err;
   VALUE pool;
 } callback_rescue_baton_t;
 
-typedef struct {
+typedef struct callback_handle_error_baton_t {
   callback_baton_t *callback_baton;
   callback_rescue_baton_t *rescue_baton;
 } callback_handle_error_baton_t;
@@ -1675,7 +1675,7 @@ invoke_callback_handle_error(VALUE baton
 
 
 /* svn_delta_editor_t */
-typedef struct {
+typedef struct item_baton {
   VALUE editor;
   VALUE baton;
 } item_baton;

Modified: subversion/branches/performance/subversion/include/private/svn_mergeinfo_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/private/svn_mergeinfo_private.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/private/svn_mergeinfo_private.h (original)
+++ subversion/branches/performance/subversion/include/private/svn_mergeinfo_private.h Thu Jan  6 19:15:40 2011
@@ -226,7 +226,7 @@ svn_rangelist__initialize(svn_revnum_t s
                           svn_boolean_t inheritable,
                           apr_pool_t *result_pool);
 
-/* Adjust in-place MERGEINFO's rangelists by OFFSET.  If OFFSET is negative 
+/* Adjust in-place MERGEINFO's rangelists by OFFSET.  If OFFSET is negative
    and would adjust any part of MERGEINFO's source revisions to 0 or less,
    then those revisions are dropped.  If all the source revisions for a merge
    source path are dropped, then the path itself is dropped.  If all merge

Modified: subversion/branches/performance/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/private/svn_repos_private.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/performance/subversion/include/private/svn_repos_private.h Thu Jan  6 19:15:40 2011
@@ -74,7 +74,7 @@ svn_repos__obliterate_path_rev(svn_repos
  * repository; return @c SVN_ERR_REPOS_BAD_ARGS if it isn't.  For some
  * "svn:" properties, also validate the @a value, and return
  * @c SVN_ERR_BAD_PROPERTY_VALUE if it is not valid.
- * 
+ *
  * Use @a pool for temporary allocations.
  *
  * @since New in 1.7.

Modified: subversion/branches/performance/subversion/include/private/svn_token.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/private/svn_token.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/private/svn_token.h (original)
+++ subversion/branches/performance/subversion/include/private/svn_token.h Thu Jan  6 19:15:40 2011
@@ -36,7 +36,7 @@ extern "C" {
  *
  * Maps are an array of these, terminated with a struct where STR == NULL.
  */
-typedef struct
+typedef struct svn_token_map_t
 {
   const char *str;
   int val;

Modified: subversion/branches/performance/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/private/svn_wc_private.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/performance/subversion/include/private/svn_wc_private.h Thu Jan  6 19:15:40 2011
@@ -187,7 +187,7 @@ svn_wc__cd_to_cd2(const svn_wc_conflict_
  */
 svn_error_t *
 svn_wc__status2_from_3(svn_wc_status2_t **status,
-                       const svn_wc_status3_t *old_status, 
+                       const svn_wc_status3_t *old_status,
                        svn_wc_context_t *wc_ctx,
                        const char *local_abspath,
                        apr_pool_t *result_pool,
@@ -324,7 +324,7 @@ svn_wc__node_get_url(const char **url,
  * repos_relpath it will have in the repository.
  *
  * If @a local_abspath is not in the working copy, return @c
- * SVN_ERR_WC_PATH_NOT_FOUND. 
+ * SVN_ERR_WC_PATH_NOT_FOUND.
  * */
 svn_error_t *
 svn_wc__node_get_repos_relpath(const char **repos_relpath,
@@ -344,7 +344,7 @@ svn_wc__node_get_repos_relpath(const cha
  * @a copyfrom_root_url and @a copyfrom_repos_relpath return the exact same
  * information as @a copyfrom_url, just still separated as root and relpath.
  *
- * If @a local_abspath is not copied, set @a *copyfrom_root_url, 
+ * If @a local_abspath is not copied, set @a *copyfrom_root_url,
  * @a *copyfrom_repos_relpath and @a copyfrom_url to NULL and
  * @a *copyfrom_rev to @c SVN_INVALID_REVNUM.
  *
@@ -467,7 +467,7 @@ svn_wc__node_get_base_rev(svn_revnum_t *
 
 /* Get the working revision of @a local_abspath using @a wc_ctx. If @a
  * local_abspath is not in the working copy, return @c
- * SVN_ERR_WC_PATH_NOT_FOUND.  
+ * SVN_ERR_WC_PATH_NOT_FOUND.
  *
  * This function is meant as a temporary solution for using the old-style
  * semantics of entries. It will handle any uncommitted changes (delete,
@@ -477,24 +477,24 @@ svn_wc__node_get_base_rev(svn_revnum_t *
  * the path that was deleted. But if the delete is  below an add, the
  * revision is set to SVN_INVALID_REVNUM. For an add, copy or move we return
  * SVN_INVALID_REVNUM. In case of a replacement, we return the BASE
- * revision. 
+ * revision.
  *
  * The @a changed_rev is set to the latest committed change to @a
  * local_abspath before or equal to @a revision, unless the node is
  * copied-here or moved-here. Then it is the revision of the latest committed
  * change before or equal to the copyfrom_rev.  NOTE, that we use
- * SVN_INVALID_REVNUM for a scheduled copy or move. 
+ * SVN_INVALID_REVNUM for a scheduled copy or move.
  *
  * The @a changed_date and @a changed_author are the ones associated with @a
- * changed_rev.  
+ * changed_rev.
  */
 svn_error_t *
 svn_wc__node_get_working_rev_info(svn_revnum_t *revision,
-                                  svn_revnum_t *changed_rev, 
-                                  apr_time_t *changed_date, 
+                                  svn_revnum_t *changed_rev,
+                                  apr_time_t *changed_date,
                                   const char **changed_author,
-                                  svn_wc_context_t *wc_ctx, 
-                                  const char *local_abspath, 
+                                  svn_wc_context_t *wc_ctx,
+                                  const char *local_abspath,
                                   apr_pool_t *scratch_pool,
                                   apr_pool_t *result_pool);
 

Modified: subversion/branches/performance/subversion/include/svn_checksum.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_checksum.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_checksum.h (original)
+++ subversion/branches/performance/subversion/include/svn_checksum.h Thu Jan  6 19:15:40 2011
@@ -42,7 +42,7 @@ extern "C" {
  *
  * @since New in 1.6.
  */
-typedef enum
+typedef enum svn_checksum_kind_t
 {
   /** The checksum is (or should be set to) an MD5 checksum. */
   svn_checksum_md5,

Modified: subversion/branches/performance/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_client.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_client.h (original)
+++ subversion/branches/performance/subversion/include/svn_client.h Thu Jan  6 19:15:40 2011
@@ -679,9 +679,9 @@ typedef svn_error_t *(*svn_client_get_co
  * which has the revision properties @a rev_props, and that the contents were
  * @a line.
  *
- * @a start_revnum and @a end_revnum contain the start and end revision 
+ * @a start_revnum and @a end_revnum contain the start and end revision
  * number of the entire blame operation, as determined from the repository
- * inside svn_client_blame5(). This can be useful for the blame receiver 
+ * inside svn_client_blame5(). This can be useful for the blame receiver
  * to format the blame output.
  *
  * If svn_client_blame5() was called with @a include_merged_revisions set to
@@ -1050,7 +1050,7 @@ svn_client_args_to_target_array(apr_arra
  * Checkout a working copy from a repository.
  *
  * @param[out] result_rev   If non-NULL, the value of the revision checked
- *              out form the repository.
+ *              out from the repository.
  * @param[in] URL       The repository URL of the checkout source.
  * @param[in] path      The root of the new working copy.
  * @param[in] peg_revision  The peg revision.
@@ -1289,50 +1289,61 @@ svn_client_update(svn_revnum_t *result_r
  * @{
  */
 
-/** Switch working tree @a path to @a url\@peg_revision at @a revision,
- * authenticating with the authentication baton cached in @a ctx.  If
- * @a result_rev is not @c NULL, set @a *result_rev to the value of
- * the revision to which the working copy was actually switched.
- *
- * Summary of purpose: this is normally used to switch a working
- * directory over to another line of development, such as a branch or
- * a tag.  Switching an existing working directory is more efficient
- * than checking out @a url from scratch.
- *
- * @a revision must be of kind #svn_opt_revision_number,
- * #svn_opt_revision_head, or #svn_opt_revision_date; otherwise,
- * return #SVN_ERR_CLIENT_BAD_REVISION.
- *
- * If @a depth is #svn_depth_infinity, switch fully recursively.
- * Else if it is #svn_depth_immediates, switch @a path and its file
- * children (if any), and switch subdirectories but do not update
- * them.  Else if #svn_depth_files, switch just file children,
- * ignoring subdirectories completely.  Else if #svn_depth_empty,
- * switch just @a path and touch nothing underneath it.
- *
- * If @a depth_is_sticky is set and @a depth is not
- * #svn_depth_unknown, then in addition to switching PATH, also set
- * its sticky ambient depth value to @a depth.
- *
- * If @a ignore_externals is set, don't process externals definitions
- * as part of this operation.
- *
- * If @a allow_unver_obstructions is TRUE then the switch tolerates
- * existing unversioned items that obstruct added paths.  Only
- * obstructions of the same type (file or dir) as the added item are
- * tolerated.  The text of obstructing files is left as-is, effectively
- * treating it as a user modification after the switch.  Working
- * properties of obstructing items are set equal to the base properties.
- * If @a allow_unver_obstructions is FALSE then the switch will abort
- * if there are any unversioned obstructing items.
- *
- * If @a ctx->notify_func2 is non-NULL, invoke it with @a ctx->notify_baton2
- * on paths affected by the switch.  Also invoke it for files may be restored
- * from the text-base because they were removed from the working copy.
+/** 
+ * Switch an existing working copy directory to a different repository
+ * location.
+ *
+ * This is normally used to switch a working copy directory over to another
+ * line of development, such as a branch or a tag.  Switching an existing
+ * working copy directory is more efficient than checking out @a URL from
+ * scratch.
+ *
+ * @param[out] result_rev   If non-NULL, the value of the revision to which
+ *                          the working copy was actually switched.
+ * @param[in] path      The directory to be switched.  This need not be the
+ *              root of a working copy.
+ * @param[in] url       The repository URL to switch to.
+ * @param[in] peg_revision  The peg revision.
+ * @param[in] revision  The operative revision.
+ * @param[in] depth     The depth of the operation.  If #svn_depth_infinity,
+ *                      switch fully recursively.  Else if #svn_depth_immediates,
+ *                      switch @a path and its file children (if any), and
+ *                      switch subdirectories but do not update them.  Else if
+ *                      #svn_depth_files, switch just file children, ignoring
+ *                      subdirectories completely.  Else if #svn_depth_empty,
+ *                      switch just @a path and touch nothing underneath it.
+ * @param[in] depth_is_sticky   If @c TRUE, and @a depth is not
+ *              #svn_depth_unknown, then in addition to switching @a path, also
+ *              set its sticky ambient depth value to @a depth.
+ * @param[in] ignore_externals  If @c TRUE, don't process externals
+ *              definitions as part of this operation.
+ * @param[in] allow_unver_obstructions  If @c TRUE, then tolerate existing
+ *              unversioned items that obstruct incoming paths.  Only
+ *              obstructions of the same type (file or dir) as the added
+ *              item are tolerated.  The text of obstructing files is left
+ *              as-is, effectively treating it as a user modification after
+ *              the checkout.  Working properties of obstructing items are
+ *              set equal to the base properties. <br>
+ *              If @c FALSE, then abort if there are any unversioned
+ *              obstructing items.
+ * @param[in] ctx   The standard client context, used for authentication and
+ *              notification.  The notifier is invoked for paths affected by
+ *              the switch, and also for files which may be restored from the
+ *              pristine store after being previously removed from the working
+ *              copy.
+ * @param[in] pool  Used for any temporary allocation.
  *
- * Use @a pool for any temporary allocation.
+ * @return A pointer to an #svn_error_t of the type (this list is not
+ *         exhaustive): <br>
+ *         #SVN_ERR_CLIENT_BAD_REVISION if @a revision is not one of
+ *         #svn_opt_revision_number, #svn_opt_revision_head, or
+ *         #svn_opt_revision_date. <br>
+ *         If no error occurred, return #SVN_NO_ERROR.
  *
  * @since New in 1.5.
+ *
+ * @see #svn_depth_t <br> #svn_client_ctx_t <br> @ref clnt_revisions for
+ *      a discussion of operative and peg revisions.
  */
 svn_error_t *
 svn_client_switch2(svn_revnum_t *result_rev,
@@ -2030,7 +2041,7 @@ typedef struct svn_client_status_t
   /** The URL of the repository */
   const char *repos_root_url;
 
-  /** The in-repository path relative to the repository root. 
+  /** The in-repository path relative to the repository root.
    * Use svn_path_url_component2() to join this value to the
    * repos_root_url to get the full URL.
    */
@@ -4129,7 +4140,7 @@ svn_client_propset4(const char *propname
                     const apr_array_header_t *changelists,
                     const apr_hash_t *revprop_table,
                     svn_commit_callback2_t commit_callback,
-                    void *commit_baton, 
+                    void *commit_baton,
                     svn_client_ctx_t *ctx,
                     apr_pool_t *pool);
 

Modified: subversion/branches/performance/subversion/include/svn_diff.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_diff.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_diff.h (original)
+++ subversion/branches/performance/subversion/include/svn_diff.h Thu Jan  6 19:15:40 2011
@@ -941,7 +941,7 @@ svn_diff_hunk_get_trailing_context(const
 
 /**
  * Data type to manage parsing of properties in patches.
- * 
+ *
  * @since New in 1.7. */
 typedef struct svn_prop_patch_t {
   const char *name;
@@ -1000,7 +1000,7 @@ typedef struct svn_patch_t {
  * whitespace to be parsed.
  * Allocate results in @a result_pool.
  * Use @a scratch_pool for all other allocations.
- * 
+ *
  * @since New in 1.7. */
 svn_error_t *
 svn_diff_parse_next_patch(svn_patch_t **patch,

Modified: subversion/branches/performance/subversion/include/svn_editor.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_editor.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_editor.h (original)
+++ subversion/branches/performance/subversion/include/svn_editor.h Thu Jan  6 19:15:40 2011
@@ -640,7 +640,7 @@ svn_editor_setcb_abort(svn_editor_t *edi
  * @see svn_editor_setcb_many(), svn_editor_create(), svn_editor_t.
  * @since New in 1.7.
  */
-typedef struct
+typedef struct svn_editor_cb_many_t
 {
   svn_editor_cb_add_directory_t cb_add_directory;
   svn_editor_cb_add_file_t cb_add_file;

Modified: subversion/branches/performance/subversion/include/svn_error.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_error.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_error.h (original)
+++ subversion/branches/performance/subversion/include/svn_error.h Thu Jan  6 19:15:40 2011
@@ -361,6 +361,13 @@ svn_error_t *svn_error_purge_tracing(svn
 
 /** @} */
 
+
+/** Error groups
+ *
+ * @defgroup svn_error_error_groups Error groups
+ * @{
+ */
+
 /**
  * Return TRUE if @a err is an error specifically related to locking a
  * path in the repository, FALSE otherwise.
@@ -388,6 +395,25 @@ svn_error_t *svn_error_purge_tracing(svn
    err->apr_err == SVN_ERR_RA_NOT_LOCKED ||                 \
    err->apr_err == SVN_ERR_FS_LOCK_EXPIRED)
 
+/** Evaluates to @c TRUE iff @a apr_err (of type #apr_status_t) is in the given
+ * @a category, which should be one of the @c SVN_ERR_*_CATEGORY_START
+ * constants.
+ * 
+ * @since New in 1.7.
+ */
+#define SVN_ERROR_IN_CATEGORY(apr_err, category)            \
+    ((category) == ((apr_err) / SVN_ERR_CATEGORY_SIZE) * SVN_ERR_CATEGORY_SIZE)
+
+
+/** @} */
+
+
+/** Internal malfunctions and assertions
+ *
+ * @defgroup svn_error_malfunction_assertion Malfunctions and assertions
+ * @{
+ */
+
 /** Report that an internal malfunction has occurred, and possibly terminate
  * the program.
  *
@@ -503,6 +529,8 @@ svn_error__malfunction(svn_boolean_t can
  * The function may alter its behaviour according to compile-time
  * and run-time and even interactive conditions.
  *
+ * @see SVN_ERROR_IN_CATEGORY()
+ *
  * @since New in 1.6.
  */
 typedef svn_error_t *(*svn_error_malfunction_handler_t)
@@ -548,6 +576,8 @@ svn_error_abort_on_malfunction(svn_boole
                                int line,
                                const char *expr);
 
+/** @} */
+
 
 #ifdef __cplusplus
 }

Modified: subversion/branches/performance/subversion/include/svn_error_codes.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_error_codes.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_error_codes.h (original)
+++ subversion/branches/performance/subversion/include/svn_error_codes.h Thu Jan  6 19:15:40 2011
@@ -1406,6 +1406,10 @@ SVN_ERROR_START
              SVN_ERR_MALFUNC_CATEGORY_START + 0,
              "Assertion failure")
 
+  SVN_ERRDEF(SVN_ERR_ASSERTION_ONLY_TRACING_LINKS,
+             SVN_ERR_MALFUNC_CATEGORY_START + 1,
+             "No non-tracing links found in the error chain")
+
 SVN_ERROR_END
 
 

Modified: subversion/branches/performance/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_fs.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_fs.h (original)
+++ subversion/branches/performance/subversion/include/svn_fs.h Thu Jan  6 19:15:40 2011
@@ -1061,7 +1061,7 @@ svn_fs_revision_root_revision(svn_fs_roo
 
 
 /** The kind of change that occurred on the path. */
-typedef enum
+typedef enum svn_fs_path_change_kind_t
 {
   /** path modified in txn */
   svn_fs_path_change_modify = 0,
@@ -1959,7 +1959,7 @@ svn_fs_change_rev_prop2(svn_fs_t *fs,
                         apr_pool_t *pool);
 
 
-/** 
+/**
  * Similar to svn_fs_change_rev_prop2(), but with @a old_value_p passed as
  * @c NULL.
  *
@@ -2194,7 +2194,7 @@ svn_fs_get_locks2(svn_fs_t *fs,
                   void *get_locks_baton,
                   apr_pool_t *pool);
 
-/** 
+/**
  * Similar to svn_fs_get_locks2(), but with @a depth always passed as
  * svn_depth_infinity.
  *
@@ -2222,7 +2222,7 @@ svn_fs_print_modules(svn_stringbuf_t *ou
 
 
 /** The kind of action being taken by 'pack'. */
-typedef enum
+typedef enum svn_fs_pack_notify_action_t
 {
   /** packing of the shard has commenced */
   svn_fs_pack_notify_start = 0,

Modified: subversion/branches/performance/subversion/include/svn_mergeinfo.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_mergeinfo.h?rev=1056015&r1=1056014&r2=1056015&view=diff
==============================================================================
--- subversion/branches/performance/subversion/include/svn_mergeinfo.h (original)
+++ subversion/branches/performance/subversion/include/svn_mergeinfo.h Thu Jan  6 19:15:40 2011
@@ -507,7 +507,7 @@ svn_rangelist_dup(const apr_array_header
  *
  * @since New in 1.5.
  */
-typedef enum
+typedef enum svn_mergeinfo_inheritance_t
 {
   /** Explicit mergeinfo only. */
   svn_mergeinfo_explicit,