Source: svnkit
Version: 1.10.3-2build1
Severity: important
Tags: ftbfs upstream

Subversion 1.15 was recently uploaded to experimental and svnkit FTBFS
with that version.

The immediate failure reported is

    [javac] 
/build/package/package/svnkit-javahl16/src/main/java/org/apache/subversion/javahl/SVNClient.java:14:
 error: SVNClient is not abstract and does not override abstract method 
defaultWcVersion() in ISVNClient
    [javac] public class SVNClient implements ISVNClient {
    [javac]        ^
    [javac] 
/build/package/package/svnkit-javahl16/src/main/java/org/tmatesoft/svn/core/javahl17/SVNClientImpl.java:38:
 error: SVNClientImpl is not abstract and does not override abstract method 
defaultWcVersion() in ISVNClient
    [javac] public class SVNClientImpl implements ISVNClient {
    [javac]        ^

however there are other new APIs also added to ISVNClient. I've attached
the ISVNClient diff.

Cheers,
-- 
James (he/him)
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB
diff --git 
a/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java 
b/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
index aade3b54..e176b141 100644
--- 
a/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
+++ 
b/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
@@ -1,5 +1,4 @@
-/**
- * @copyright
+/*
  * ====================================================================
  *    Licensed to the Apache Software Foundation (ASF) under one
  *    or more contributor license agreements.  See the NOTICE file
@@ -18,7 +17,6 @@
  *    specific language governing permissions and limitations
  *    under the License.
  * ====================================================================
- * @endcopyright
  */
 
 package org.apache.subversion.javahl;
@@ -33,7 +31,7 @@ import java.util.Set;
 import java.util.Map;
 
 /**
- * This interface is the commom interface for all subversion
+ * This interface is the common interface for all subversion
  * operations. It is implemented by SVNClient
  *
  * @since 1.7
@@ -65,7 +63,7 @@ public interface ISVNClient
      * @return The name of the working copy's administrative
      * directory, which is usually <code>.svn</code>.
      * @see <a
-     * 
href="http://svn.apache.org/repos/asf/subversion/trunk/notes/asp-dot-net-hack.txt";>
+     * 
href="https://svn.apache.org/repos/asf/subversion/trunk/notes/asp-dot-net-hack.txt";>
      * Instructions on changing this as a work-around for the behavior of
      * ASP.Net on Windows.</a>
      */
@@ -89,7 +87,7 @@ public interface ISVNClient
      *                    has effect when <code>onServer</code> is
      *                    <code>true</code>.
      * @param getAll      get status for uninteresting (unchanged) files.
-     * @param noIgnore    get status for normaly ignored files and directories.
+     * @param noIgnore    get status for normally ignored files and 
directories.
      * @param ignoreExternals if externals are ignored during status
      * @param depthAsSticky When set, interpret <code>depth</code> as
      *                      the ambient depth of the working copy.
@@ -246,7 +244,23 @@ public interface ISVNClient
      * @param depth how deep to checkout files recursively.
      * @param ignoreExternals if externals are ignored during checkout
      * @param allowUnverObstructions allow unversioned paths that obstruct adds
+     * @param wcFormatVersion desired WC compatibiliy version or NULL default
+     * @param storePristines whether to store pristine files
      * @throws ClientException
+     * @since 1.15
+     */
+    long checkout(String moduleName, String destPath, Revision revision,
+                  Revision pegRevision, Depth depth,
+                  boolean ignoreExternals,
+                  boolean allowUnverObstructions,
+                  Version wcFormatVersion,
+                  Tristate storePristines) throws ClientException;
+
+    /**
+     * Executes a revision checkout.
+     * <p>
+     * Behaves like the 1.15 version with <code>wcFormatVersion = null</code>
+     * and <code>storePristines = Tristate.Unknown</code>
      */
     long checkout(String moduleName, String destPath, Revision revision,
                   Revision pegRevision, Depth depth,
@@ -300,7 +314,22 @@ public interface ISVNClient
      *                         from the reverted paths.
      * @param metadataOnly Revert just the metadata (including conflict data)
      *                     and not the working files/dirs
+     * @param addedKeepLocal With metadataOnly, keep locally added files.
      * @throws ClientException
+     * @since 1.15
+     */
+    void revert(Set<String> paths, Depth depth,
+                Collection<String> changelists,
+                boolean clearChangelists,
+                boolean metadataOnly,
+                boolean addedKeepLocal)
+            throws ClientException;
+
+    /**
+     * Reverts set of files or directories to a pristine state.
+     * <p>
+     * Behaves like the 1.15 version with <code>addedKeepLocal</code>
+     * set to <code>true</code>;
      * @since 1.9
      */
     void revert(Set<String> paths, Depth depth,
@@ -633,7 +662,7 @@ public interface ISVNClient
      * @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
+     *                  the node type is not known, 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.
@@ -664,7 +693,7 @@ public interface ISVNClient
      * @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
+     *                  the node type is not known, 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.
@@ -922,6 +951,7 @@ public interface ISVNClient
      * @param revision2     second revision
      * @param relativeToDir index path is relative to this path
      * @param outStream     the stream to which difference are written
+     * @param errStream     the stream to which error messages 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
@@ -932,6 +962,23 @@ public interface ISVNClient
      * @param propsOnly     show property changes only
      * @param options       additional options for controlling the output
      * @throws ClientException
+     * @since 1.15
+     * @see svn_client_diff7
+     */
+    void diff(String target1, Revision revision1, String target2,
+              Revision revision2, String relativeToDir,
+              OutputStream outStream, OutputStream errStream,
+              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
+     * <p>
+     * Behaves exactly like the 1.15 version except that it discards stderr.
+     * @throws ClientException
      * @since 1.8
      */
     void diff(String target1, Revision revision1, String target2,
@@ -950,6 +997,7 @@ public interface ISVNClient
      * @param revision2     second revision
      * @param relativeToDir index path is relative to this path
      * @param outFileName   file name where difference are written
+     * @param errFileName   file name where error messages 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
@@ -960,6 +1008,23 @@ public interface ISVNClient
      * @param propsOnly     show property changes only
      * @param options       additional options for controlling the output
      * @throws ClientException
+     * @since 1.15
+     * @see svn_client_diff7
+     */
+    void diff(String target1, Revision revision1, String target2,
+              Revision revision2, String relativeToDir,
+              String outFileName, String errFileName,
+              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
+     * <p>
+     * Behaves exactly like the 1.15 version except that it discards stderr.
+     * @throws ClientException
      * @since 1.8
      */
     void diff(String target1, Revision revision1, String target2,
@@ -1028,6 +1093,7 @@ public interface ISVNClient
      * @param endRevision   second Revision to compare
      * @param relativeToDir index path is relative to this path
      * @param outStream     the stream to which difference are written
+     * @param errStream     the stream to which error messages 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
@@ -1039,6 +1105,23 @@ public interface ISVNClient
      * @param propsOnly     show property changes only
      * @param options       additional options for controlling the output
      * @throws ClientException
+     * @since 1.15
+     * @see svn_client_diff_peg7
+     */
+    void diff(String target, Revision pegRevision, Revision startRevision,
+              Revision endRevision, String relativeToDir,
+              OutputStream outStream, OutputStream errStream,
+              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
+     * <p>
+     * Behaves exactly like the 1.15 version except that it discards stderr.
+     * @throws ClientException
      * @since 1.8
      */
     void diff(String target, Revision pegRevision, Revision startRevision,
@@ -1057,6 +1140,7 @@ public interface ISVNClient
      * @param endRevision   second Revision to compare
      * @param relativeToDir index path is relative to this path
      * @param outFileName   file name where difference are written
+     * @param errFileName   file name where error messages 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
@@ -1068,6 +1152,23 @@ public interface ISVNClient
      * @param propsOnly     show property changes only
      * @param options       additional options for controlling the output
      * @throws ClientException
+     * @since 1.15
+     * @see svn_client_diff_peg7
+     */
+    void diff(String target, Revision pegRevision, Revision startRevision,
+              Revision endRevision, String relativeToDir,
+              String outFileName, String errFileName,
+              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
+     * <p>
+     * Behaves exactly like the 1.15 version except that it discards stderr.
+     * @throws ClientException
      * @since 1.8
      */
     void diff(String target, Revision pegRevision, Revision startRevision,
@@ -1604,12 +1705,22 @@ public interface ISVNClient
 
     /**
      * Recursively upgrade a working copy to a new metadata storage format.
-     * @param path                  path of the working copy
+     * @param path             the working copy path
+     * @param targetWcVersion  the working copy version to upgrade to
      * @throws ClientException
+     * @since 1.15
      */
-    void upgrade(String path)
+    Version upgrade(String path, Version targetWcVersion)
             throws ClientException;
 
+    /**
+     * Recursively upgrade a working copy to a new metadata storage format.
+     * <p>
+     * Behaves like the 1.15 version with <code>targetWcVersion = null</code>.
+     */
+    void upgrade(String path) throws ClientException;
+
+
     /**
      * Apply a unidiff patch.
      * @param patchPath        the path of the patch
@@ -1658,6 +1769,8 @@ public interface ISVNClient
                 boolean includeExternals)
             throws ClientException;
 
+    Version defaultWcVersion() throws ClientException;
+
     /**
      * Open a persistent session to a repository.
      * <p>

Reply via email to