You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2014/06/18 07:00:55 UTC

svn commit: r1603354 - in /subversion/trunk/subversion/bindings/javahl: native/org_apache_subversion_javahl_util_DiffLib.cpp src/org/apache/subversion/javahl/SVNUtil.java src/org/apache/subversion/javahl/util/DiffLib.java

Author: brane
Date: Wed Jun 18 05:00:55 2014
New Revision: 1603354

URL: http://svn.apache.org/r1603354
Log:
Remove the use of some more deprecated APIs from JavaHL.

[in subversion/bindings/javahl]
* src/org/apache/subversion/javahl/SVNUtil.java
  (SVNUtil.DiffOptions): Add an option to set the diff context size.
* src/org/apache/subversion/javahl/util/DiffLib.java
  (DiffLib.fileDiff): Propagate the context size to nativeFileDiff.
  (DiffLib.nativeFileDiff): Accept a new context size parameter.

* native/org_apache_subversion_javahl_util_DiffLib.cpp
  (Java_org_apache_subversion_javahl_util_DiffLib_natveFileDiff):
   Update the prototype, and use svn_diff_file_output_unified4 with
   the context size instead of svn_diff_file_output_unified3.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNUtil.java
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/DiffLib.java

Modified: subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp?rev=1603354&r1=1603353&r2=1603354&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp Wed Jun 18 05:00:55 2014
@@ -44,6 +44,7 @@ Java_org_apache_subversion_javahl_util_D
     jint jignore_space_ordinal,
     jboolean jignore_eol_style,
     jboolean jshow_c_function,
+    jint jcontext_size,
 
     jstring joriginal_header,
     jstring jmodified_header,
@@ -102,13 +103,13 @@ Java_org_apache_subversion_javahl_util_D
 
   OutputStream result_stream(jresult_stream);
 
-  SVN_JNI_ERR(svn_diff_file_output_unified3(
+  SVN_JNI_ERR(svn_diff_file_output_unified4(
                   result_stream.getStream(pool), diff,
                   original.c_str(), modified.c_str(),
                   original_header.c_str(), modified_header.c_str(),
                   header_encoding.c_str(), relative_to_dir.c_str(),
-                  diff_options->show_c_function,
-                  pool.getPool()),
+                  diff_options->show_c_function, int(jcontext_size),
+                  NULL, NULL, pool.getPool()),
               false);
 
   return diffs;

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNUtil.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNUtil.java?rev=1603354&r1=1603353&r2=1603354&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNUtil.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNUtil.java Wed Jun 18 05:00:55 2014
@@ -539,11 +539,32 @@ public class SVNUtil
             this.ignoreSpace = ignoreSpace;
             this.ignoreEolStyle = ignoreEolStyle;
             this.showCFunction = showCFunction;
+            this.contextSize = -1;
+        }
+
+        /**
+         * Like the {@see #DiffOptions(IgnoreSpace,boolean,boolean)},
+         * but with an additional parameter.
+         * @param contextSize If this is greater than 0, then this
+         * number of context lines will be used in the generated diff
+         * output. Otherwise the legacy compile time default will be
+         * used.
+         */
+        public DiffOptions(IgnoreSpace ignoreSpace,
+                           boolean ignoreEolStyle,
+                           boolean showCFunction,
+                           int contextSize)
+        {
+            this.ignoreSpace = ignoreSpace;
+            this.ignoreEolStyle = ignoreEolStyle;
+            this.showCFunction = showCFunction;
+            this.contextSize = contextSize;
         }
 
         public final IgnoreSpace ignoreSpace;
         public final boolean ignoreEolStyle;
         public final boolean showCFunction;
+        public final int contextSize;
     }
 
     /** Style for displaying conflicts in merge output. */
@@ -613,6 +634,7 @@ public class SVNUtil
                                    OutputStream resultStream)
         throws ClientException
     {
+        // ### TODO: Support cancellation as in svn_diff_file_output_unified3.
         return diffLib.fileDiff(originalFile, modifiedFile, diffOptions,
                                 originalHeader, modifiedHeader,
                                 headerEncoding,

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/DiffLib.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/DiffLib.java?rev=1603354&r1=1603353&r2=1603354&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/DiffLib.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/DiffLib.java Wed Jun 18 05:00:55 2014
@@ -66,6 +66,8 @@ public class DiffLib
                                : diffOptions.ignoreEolStyle),
                               (diffOptions == null ? false
                                : diffOptions.showCFunction),
+                              (diffOptions == null ? -1
+                               : diffOptions.contextSize),
 
                               originalHeader, modifiedHeader, headerEncoding,
                               relativeToDir, resultStream);
@@ -79,6 +81,7 @@ public class DiffLib
                                int ignoreSpace,
                                boolean ignoreEolStyle,
                                boolean showCFunction,
+                               int contextSize,
 
                                String originalHeader,
                                String modifiedHeader,