Index: subversion/bindings/javahl/native/CopySources.cpp
===================================================================
--- subversion/bindings/javahl/native/CopySources.cpp	(revision 31824)
+++ subversion/bindings/javahl/native/CopySources.cpp	(working copy)
@@ -164,7 +164,7 @@
           static jmethodID getPegRevision = 0;
           if (getPegRevision == 0)
             {
-              getPegRevision = env->GetMethodID(clazz, "getRevision",
+              getPegRevision = env->GetMethodID(clazz, "getPegRevision",
                                                 "()L"JAVA_PACKAGE"/Revision;");
               if (JNIUtil::isJavaExceptionThrown() || getPegRevision == 0)
                 return NULL;
Index: subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
===================================================================
--- subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java	(revision 31824)
+++ subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java	(working copy)
@@ -527,8 +527,12 @@
                      Revision revision)
             throws ClientException
     {
-        copy(new CopySource[] { new CopySource(srcPath, revision,
-                                               Revision.HEAD) },
+        // Pass null for CopySource.pegRevision to avoid complaints
+        // from libsvn_client about mismatched requests for WC and
+        // repos paths/revisions. JavaHL's native library will convert
+        // pegRevision to unspecified, and libsvn_client will do the
+        // Right Thing.
+        copy(new CopySource[] { new CopySource(srcPath, revision, null) },
              destPath, message, true, false, null);
     }
 

