diff -Nru svnclientadapter-1.10.3/debian/changelog svnclientadapter-1.10.12/debian/changelog --- svnclientadapter-1.10.3/debian/changelog 2016-01-15 18:31:47.000000000 +0000 +++ svnclientadapter-1.10.12/debian/changelog 2016-12-18 23:55:27.000000000 +0000 @@ -1,3 +1,18 @@ +svnclientadapter (1.10.12-1) unstable; urgency=medium + + * Team upload. + * New upstream version 1.10.12. + * Switch to compat level 10. + * wrap-and-sort -sa. + * Declare compliance with Debian Policy 3.9.8. + * Vcs-Git: Use https. + * Update svnclientadapter-get-orig-source + * Drop disable-cmdline-wrapper.patch. The package builds fine. + * Rebase packaging-changes.patch and + subclipse-load-nativelib-from-single-bundle.patch. + + -- Markus Koschany Mon, 19 Dec 2016 00:55:27 +0100 + svnclientadapter (1.10.3-4) unstable; urgency=medium * Team upload. diff -Nru svnclientadapter-1.10.3/debian/compat svnclientadapter-1.10.12/debian/compat --- svnclientadapter-1.10.3/debian/compat 2014-06-19 10:02:09.000000000 +0000 +++ svnclientadapter-1.10.12/debian/compat 2016-12-18 23:55:27.000000000 +0000 @@ -1 +1 @@ -9 +10 diff -Nru svnclientadapter-1.10.3/debian/control svnclientadapter-1.10.12/debian/control --- svnclientadapter-1.10.3/debian/control 2016-01-15 18:12:01.000000000 +0000 +++ svnclientadapter-1.10.12/debian/control 2016-12-18 23:55:27.000000000 +0000 @@ -2,22 +2,36 @@ Section: java Priority: optional Maintainer: Debian Java Maintainers -Uploaders: Jakub Adam -Build-Depends: debhelper (>= 9~), javahelper, ant, ant-optional, bnd (>= 2.1.0), - default-jdk, libsvn-java (>= 1.8~), libsvnkit-java (>= 1.7.5~) -Standards-Version: 3.9.6 +Uploaders: + Jakub Adam +Build-Depends: + ant, + ant-optional, + bnd (>= 2.1.0), + debhelper (>= 10), + default-jdk, + javahelper, + libsvn-java (>= 1.8~), + libsvnkit-java (>= 1.7.5~) +Standards-Version: 3.9.8 Homepage: http://subclipse.tigris.org/svnClientAdapter.html Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/svnclientadapter.git -Vcs-Git: git://anonscm.debian.org/pkg-java/svnclientadapter.git +Vcs-Git: https://anonscm.debian.org/git/pkg-java/svnclientadapter.git Package: libsvnclientadapter-java Architecture: all -Depends: libsvn-java (>= 1.8~) | libsvnkit-java (>= 1.7.5~), - ${java:Depends}, ${misc:Depends} -Suggests: libsvnclientadapter-java-doc -Provides: libnb-svnclientadapter-java -Replaces: libnb-svnclientadapter-java -Conflicts: libnb-svnclientadapter-java +Depends: + libsvn-java (>= 1.8~) | libsvnkit-java (>= 1.7.5~), + ${java:Depends}, + ${misc:Depends} +Suggests: + libsvnclientadapter-java-doc +Provides: + libnb-svnclientadapter-java +Replaces: + libnb-svnclientadapter-java +Conflicts: + libnb-svnclientadapter-java Description: High-level Java API for Subversion (library) SVNClientAdapter is a high-level Java API for Subversion. It can use one of 3 low-level svn client implementations to provide access to @@ -33,11 +47,16 @@ Package: libsvnclientadapter-java-doc Architecture: all Section: doc -Depends: ${misc:Depends} -Recommends: ${java:Recommends} -Provides: libnb-svnclientadapter-java-doc -Replaces: libnb-svnclientadapter-java-doc -Conflicts: libnb-svnclientadapter-java-doc +Depends: + ${misc:Depends} +Recommends: + ${java:Recommends} +Provides: + libnb-svnclientadapter-java-doc +Replaces: + libnb-svnclientadapter-java-doc +Conflicts: + libnb-svnclientadapter-java-doc Description: High-level Java API for Subversion (documentation) SVNClientAdapter is a high-level Java API for Subversion. It can use one of 3 low-level svn client implementations to provide access to diff -Nru svnclientadapter-1.10.3/debian/patches/disable-cmdline-wrapper.patch svnclientadapter-1.10.12/debian/patches/disable-cmdline-wrapper.patch --- svnclientadapter-1.10.3/debian/patches/disable-cmdline-wrapper.patch 2014-06-19 09:52:44.000000000 +0000 +++ svnclientadapter-1.10.12/debian/patches/disable-cmdline-wrapper.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -From: Jakub Adam -Date: Fri, 6 Jul 2012 12:51:04 +0200 -Subject: disable-cmdline-wrapper - -Seems upstream stopped maintaining commandline SVN client wrapper and it -now became uncompilable as a result. ---- - build.xml | 15 +++++++++------ - .../subversion/svnclientadapter/testUtils/SVNTest.java | 8 ++++---- - 2 files changed, 13 insertions(+), 10 deletions(-) - -diff --git a/build.xml b/build.xml -index 8eac813..c04e1fa 100644 ---- a/build.xml -+++ b/build.xml -@@ -35,9 +35,9 @@ - -- -+ cache="${build.cache.dir}"/--> - - -- -- -+ - - - -@@ -169,7 +169,7 @@ - - - -- -+ - - - -@@ -211,12 +211,15 @@ - - - - - -+ -+ -+ - - - -diff --git a/src/testcases/org/tigris/subversion/svnclientadapter/testUtils/SVNTest.java b/src/testcases/org/tigris/subversion/svnclientadapter/testUtils/SVNTest.java -index 0b3579a..6b19e39 100644 ---- a/src/testcases/org/tigris/subversion/svnclientadapter/testUtils/SVNTest.java -+++ b/src/testcases/org/tigris/subversion/svnclientadapter/testUtils/SVNTest.java -@@ -27,7 +27,7 @@ import junit.framework.TestCase; - import org.tigris.subversion.svnclientadapter.ISVNClientAdapter; - import org.tigris.subversion.svnclientadapter.SVNClientAdapterFactory; - import org.tigris.subversion.svnclientadapter.SVNClientException; --import org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapterFactory; -+//import org.tigris.subversion.svnclientadapter.commandline.CmdLineClientAdapterFactory; - import org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapterFactory; - import org.tigris.subversion.svnclientadapter.svnkit.SvnKitClientAdapterFactory; - -@@ -77,11 +77,11 @@ public abstract class SVNTest extends TestCase { - } catch (SVNClientException e) { - // can't register this factory - } -- try { -+ /*try { - CmdLineClientAdapterFactory.setup(); - } catch (SVNClientException e1) { - // can't register this factory -- } -+ }*/ - try { - SvnKitClientAdapterFactory.setup(); - } catch (SVNClientException e1) { -@@ -223,4 +223,4 @@ public abstract class SVNTest extends TestCase { - super.tearDown(); - } - --} -\ No newline at end of file -+} diff -Nru svnclientadapter-1.10.3/debian/patches/packaging-changes.patch svnclientadapter-1.10.12/debian/patches/packaging-changes.patch --- svnclientadapter-1.10.3/debian/patches/packaging-changes.patch 2014-06-19 09:52:44.000000000 +0000 +++ svnclientadapter-1.10.12/debian/patches/packaging-changes.patch 2016-12-18 23:55:27.000000000 +0000 @@ -1,23 +1,16 @@ -From: Debian Java Maintainers -Date: Sun, 17 Jun 2012 23:28:03 +0200 -Subject: packaging-changes +From: Markus Koschany +Date: Sun, 11 Dec 2016 01:27:08 +0100 +Subject: packaging changes --- - build.xml | 31 +++++++++++++++---------------- - 1 file changed, 15 insertions(+), 16 deletions(-) + build.xml | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/build.xml b/build.xml -index 20126dd..0b6c326 100644 +index 20126dd..ae0db54 100644 --- a/build.xml +++ b/build.xml -@@ -18,13 +18,13 @@ - - - -- - - - +@@ -25,6 +25,7 @@ @@ -25,47 +18,47 @@ + classpathref="project.classpath" -+ encoding="ISO-8859-1"> ++ encoding="ISO-8859-1"> + classpathref="project.classpath" -+ encoding="ISO-8859-1"> ++ encoding="ISO-8859-1"> + classpathref="project.classpath" -+ encoding="ISO-8859-1"> ++ encoding="ISO-8859-1"> + classpathref="project.classpath" -+ encoding="ISO-8859-1"> ++ encoding="ISO-8859-1"> -@@ -87,7 +91,8 @@ +@@ -87,7 +92,8 @@ destdir="${build.javadoc.dir}" packagenames="org.*" windowtitle="svnClientAdapter API" @@ -75,7 +68,7 @@ -@@ -97,7 +102,7 @@ +@@ -97,7 +103,7 @@ @@ -84,7 +77,7 @@ basedir="${build.classes.dir}" includes="**/*" excludes="**/*Test*.class"> -@@ -119,17 +124,10 @@ +@@ -119,17 +125,10 @@ @@ -103,7 +96,7 @@ -@@ -213,7 +211,8 @@ +@@ -213,7 +212,8 @@ -Date: Tue, 4 Oct 2011 22:38:45 +0200 -Subject: subclipse-load-nativelib-from-single-bundle - -We should avoid calling System.loadLibrary() for JavaHL native binaries in this -package. Eclipse has a limitation that one JNI library can't be loaded by multiple -bundles at once. - -If we load libsvnjavahl-1.so at JhlClientAdapterFactory.isAvailable(), another -attempt that is performed upon instantiating of SVNClient from JavaHL bundle -causes that UnsatisfiedLinkError is thrown. I removed the code that checks -availability of native library from JhlClientAdapterFactory, as it mostly -duplicates functionality of org.tigris.subversion.javahl.NativeResources. Now -there is only single place where JNI library is loaded and the above described -problem does not apply to us. - -Original binary distribution of Subclipse doesn't have this problem because -upstream bundles SvnClientAdapter and JavaHL together with some Subclipse -specific code into a single Eclipse plugin. It showed only after I removed the -repeating code and tried to use libraries already present in Debian instead. ---- - .../javahl/JhlClientAdapterFactory.java | 95 +++++----------------- - 1 file changed, 21 insertions(+), 74 deletions(-) - -diff --git a/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlClientAdapterFactory.java b/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlClientAdapterFactory.java -index d8d0c41..ddb5e9f 100644 ---- a/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlClientAdapterFactory.java -+++ b/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlClientAdapterFactory.java -@@ -118,81 +118,28 @@ public class JhlClientAdapterFactory extends SVNClientAdapterFactory { - } - //workaround to solve Subclipse ISSUE #83 - available = false; -- try { -- /* -- * see if the user has specified the fully qualified path to the native -- * library -- */ -- try -- { -- String specifiedLibraryName = -- System.getProperty("subversion.native.library"); -- if(specifiedLibraryName != null) { -- System.load(specifiedLibraryName); -- available = true; -- } -- } -- catch(UnsatisfiedLinkError ex) -- { -- javaHLErrors.append(ex.getMessage()).append("\n"); -- } -- if (!available) { -- /* -- * first try to load the library by the new name. -- * if that fails, try to load the library by the old name. -- */ -- try -- { -- System.loadLibrary("libsvnjavahl-1"); -- } -- catch(UnsatisfiedLinkError ex) -- { -- javaHLErrors.append(ex.getMessage() + "\n"); -- try -- { -- System.loadLibrary("svnjavahl-1"); -- } -- catch (UnsatisfiedLinkError e) -- { -- javaHLErrors.append(e.getMessage()).append("\n"); -- System.loadLibrary("svnjavahl"); -- } -- } - -- available = true; -- } -- } catch (Exception e) { -- available = false; -- javaHLErrors.append(e.getMessage()).append("\n"); -- } catch (UnsatisfiedLinkError e) { -- available = false; -- javaHLErrors.append(e.getMessage()).append("\n"); -- } finally { -- availabilityCached = true; -- } -- if (!available) { -- String libraryPath = System.getProperty("java.library.path"); -- if (libraryPath != null) -- javaHLErrors.append("java.library.path = " + libraryPath); -- // System.out.println(javaHLErrors.toString()); -- } else { -- // At this point, the library appears to be available, but -- // it could be too old version of JavaHL library. We have to try -- // to get the version of the library to be sure. -- try { -- ISVNClient svnClient = new SVNClient(); -- Version version = svnClient.getVersion(); -- if (version.getMajor() == 1 && version.getMinor() == 8) -- available = true; -- else { -- available = false; -- javaHLErrors = new StringBuffer("Incompatible JavaHL library loaded. Subversion 1.8.x required."); -- } -- } catch (UnsatisfiedLinkError e) { -- available = false; -- javaHLErrors = new StringBuffer("Incompatible JavaHL library loaded. 1.8.x or later required."); -- } -- } -+ // At this point, the library appears to be available, but -+ // it could be too old version of JavaHL library. We have to try -+ // to get the version of the library to be sure. -+ try { -+ ISVNClient svnClient = new SVNClient(); -+ Version version = svnClient.getVersion(); -+ if (version.getMajor() == 1 && version.getMinor() == 8) -+ available = true; -+ else { -+ available = false; -+ javaHLErrors = new StringBuffer("Incompatible JavaHL library loaded. Subversion 1.8.x required."); -+ } -+ } catch (UnsatisfiedLinkError e) { -+ available = false; -+ javaHLErrors = new StringBuffer(e.getMessage()); -+ } catch (LinkageError e) { -+ available = false; -+ javaHLErrors = new StringBuffer("Incompatible JavaHL library loaded. 1.8.x or later required."); -+ } finally { -+ availabilityCached = true; -+ } - } - - return available; diff -Nru svnclientadapter-1.10.3/debian/svnclientadapter-get-orig-source svnclientadapter-1.10.12/debian/svnclientadapter-get-orig-source --- svnclientadapter-1.10.3/debian/svnclientadapter-get-orig-source 2014-06-19 09:52:44.000000000 +0000 +++ svnclientadapter-1.10.12/debian/svnclientadapter-get-orig-source 2016-12-18 23:55:27.000000000 +0000 @@ -4,8 +4,8 @@ # and generate it into an orig source tarball for Debian. # Common variables used to ease maintenance of this script -SVNCLIENTADAPTER_VERSION="0.9.100" -SVN_REVISION="4767" +SVNCLIENTADAPTER_VERSION="1.10.12" +SVN_REVISION="6002" USAGE="\n\ This script is used to generate the orig tarball used in building\n\ @@ -32,7 +32,7 @@ make_current_tarball() { # Download the source if it's not available in the current directory [ -d svnclientadapter-$SVNCLIENTADAPTER_VERSION ] || \ - svn export -r $SVN_REVISION http://subclipse.tigris.org/svn/subclipse/tags/subclipse/1.6.16/svnClientAdapter \ + svn export -r $SVN_REVISION http://subclipse.tigris.org/svn/subclipse/tags/subclipse/1.10.12/svnClientAdapter \ svnclientadapter-$SVNCLIENTADAPTER_VERSION --username guest --password "" rm -rf svnclientadapter-${SVNCLIENTADAPTER_VERSION}/lib diff -Nru svnclientadapter-1.10.3/src/javahl/org/tigris/subversion/svnclientadapter/javahl/AbstractJhlClientAdapter.java svnclientadapter-1.10.12/src/javahl/org/tigris/subversion/svnclientadapter/javahl/AbstractJhlClientAdapter.java --- svnclientadapter-1.10.3/src/javahl/org/tigris/subversion/svnclientadapter/javahl/AbstractJhlClientAdapter.java 2014-02-22 07:51:51.000000000 +0000 +++ svnclientadapter-1.10.12/src/javahl/org/tigris/subversion/svnclientadapter/javahl/AbstractJhlClientAdapter.java 2014-02-24 22:15:50.000000000 +0000 @@ -1349,32 +1349,34 @@ if (includeEmptyProperties == true && filterProperties == null) { return properties; } - Map propertyMap = new HashMap(); + List allProperties = null; + Map propertyMap = null; + if (includeClosestOnly) { + propertyMap = new HashMap(); + } + else { + allProperties = new ArrayList(); + } for (ISVNProperty property : properties) { - if (includeEmptyProperties || (property.getValue() != null && property.getValue().trim().length() > 0)) { - if (filterProperties == null || filterProperties.contains(property.getName())) { - ISVNProperty savedProperty = propertyMap.get(property.getName()); - if (savedProperty == null || !includeClosestOnly || getPropertyPathLength(property) > getPropertyPathLength(savedProperty)) { - propertyMap.put(property.getName(), property); - } + if (filterProperties == null || filterProperties.contains(property.getName())) { + if (includeClosestOnly) { + propertyMap.put(property.getName(), property); + } + else { + allProperties.add(property); } } } - ISVNProperty[] propertyArray = new ISVNProperty[propertyMap.size()]; - propertyMap.values().toArray(propertyArray); - return propertyArray; - } - - private int getPropertyPathLength(ISVNProperty property) { - if (property.getFile() != null) { - return property.getFile().getAbsolutePath().length(); - } - else if (property.getUrl() != null) { - return property.getUrl().toString().length(); + ISVNProperty[] propertyArray; + if (includeClosestOnly) { + propertyArray = new ISVNProperty[propertyMap.size()]; + propertyMap.values().toArray(propertyArray); } else { - return 0; + propertyArray = new ISVNProperty[allProperties.size()]; + allProperties.toArray(propertyArray); } + return propertyArray; } public ISVNProperty[] getPropertiesIncludingInherited(File path) throws SVNClientException { diff -Nru svnclientadapter-1.10.3/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlAnnotations.java svnclientadapter-1.10.12/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlAnnotations.java --- svnclientadapter-1.10.3/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlAnnotations.java 2014-02-22 07:51:51.000000000 +0000 +++ svnclientadapter-1.10.12/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlAnnotations.java 2014-04-24 18:55:37.000000000 +0000 @@ -55,16 +55,18 @@ String author = null; String mergedAuthor = null; - byte[] authorBytes = revProps.get("svn:author"); - if (authorBytes != null) { - try { - author = new String(revProps.get("svn:author"), "UTF8"); - } catch (UnsupportedEncodingException e) { - author = new String(revProps.get("svn:author")); + if (revProps != null) { + byte[] authorBytes = revProps.get("svn:author"); + if (authorBytes != null) { + try { + author = new String(revProps.get("svn:author"), "UTF8"); + } catch (UnsupportedEncodingException e) { + author = new String(revProps.get("svn:author")); + } + } + else { + author = "unknown"; } - } - else { - author = "unknown"; } if (mergedRevProps != null) { @@ -80,20 +82,21 @@ mergedAuthor = "unknown"; } } - - try { - singleLine( - df.parse(new String(revProps.get("svn:date"))), - revision, - author, - mergedRevProps == null ? null - : df.parse(new String(mergedRevProps.get("svn:date"))), - mergedRevision, - mergedAuthor, - mergedPath, line); - } catch (ParseException e) { - throw ClientException.fromException(e); - } + if (revProps != null) { + try { + singleLine( + df.parse(new String(revProps.get("svn:date"))), + revision, + author, + mergedRevProps == null ? null + : df.parse(new String(mergedRevProps.get("svn:date"))), + mergedRevision, + mergedAuthor, + mergedPath, line); + } catch (ParseException e) { + throw ClientException.fromException(e); + } + } } } diff -Nru svnclientadapter-1.10.3/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlConverter.java svnclientadapter-1.10.12/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlConverter.java --- svnclientadapter-1.10.3/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlConverter.java 2014-02-22 07:51:51.000000000 +0000 +++ svnclientadapter-1.10.12/src/javahl/org/tigris/subversion/svnclientadapter/javahl/JhlConverter.java 2014-01-02 15:48:14.000000000 +0000 @@ -158,6 +158,9 @@ } public static SVNNodeKind convertNodeKind(org.apache.subversion.javahl.types.NodeKind javahlNodeKind) { + if (javahlNodeKind == null) { + return null; + } switch(javahlNodeKind) { case dir : return SVNNodeKind.DIR; case file : return SVNNodeKind.FILE; @@ -175,6 +178,9 @@ } public static SVNStatusKind convertStatusKind(Status.Kind kind) { + if (kind == null) { + return null; + } switch (kind) { case none : return SVNStatusKind.NONE; @@ -239,6 +245,9 @@ } public static SVNScheduleKind convertScheduleKind(Info.ScheduleKind kind) { + if (kind == null) { + return null; + } switch (kind) { case normal: return SVNScheduleKind.NORMAL; @@ -299,6 +308,9 @@ } public static ConflictResult.Choice convert(SVNConflictResult result) { + if (result == null) { + return null; + } switch (result.getChoice()) { case SVNConflictResult.chooseBase: return ConflictResult.Choice.chooseBase; diff -Nru svnclientadapter-1.10.3/src/main/org/tigris/subversion/svnclientadapter/SVNUrl.java svnclientadapter-1.10.12/src/main/org/tigris/subversion/svnclientadapter/SVNUrl.java --- svnclientadapter-1.10.3/src/main/org/tigris/subversion/svnclientadapter/SVNUrl.java 2014-02-22 07:51:51.000000000 +0000 +++ svnclientadapter-1.10.12/src/main/org/tigris/subversion/svnclientadapter/SVNUrl.java 2014-10-21 11:03:36.000000000 +0000 @@ -302,7 +302,7 @@ // to handle other classes OK. I tested with @ + and Unicode characters. It leaves // the @ and + alone and converts Unicode to %nn. It is possible there are other // characters we need to replace here besides space. - String s = get().replaceAll(" ", "%20"); + String s = get().replace(" ", "%20").replace("[", "%5B").replace("]","%5D"); try { URI u = new URI(s); return u.toASCIIString();