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 2013/10/01 03:21:35 UTC
svn commit: r1527847 - in
/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl: ./
native/ src/org/apache/subversion/javahl/
src/org/apache/subversion/javahl/remote/
src/org/apache/subversion/javahl/types/ src/org/apache/subversion/jav...
Author: brane
Date: Tue Oct 1 01:21:34 2013
New Revision: 1527847
URL: http://svn.apache.org/r1527847
Log:
On the javahl-1.7-extensions branch: Synced JavaHL with trunk up to r1527845.
Modified:
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/ (props changed)
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/InfoCallback.h
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/JNIUtil.cpp
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/PatchCallback.h
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.cpp
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.h
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/RevisionRangeList.java
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Version.java
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java
subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
Propchange: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/
------------------------------------------------------------------------------
Merged /subversion/trunk/subversion/bindings/javahl:r1520246-1527845
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/InfoCallback.h
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/InfoCallback.h?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/InfoCallback.h (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/InfoCallback.h Tue Oct 1 01:21:34 2013
@@ -30,8 +30,6 @@
#include <jni.h>
#include "svn_client.h"
-struct info_entry;
-
/**
* This class holds a Java callback object, which will receive every line of
* the file for which the callback information is requested.
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/JNIUtil.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/JNIUtil.cpp?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/JNIUtil.cpp (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/JNIUtil.cpp Tue Oct 1 01:21:34 2013
@@ -24,6 +24,13 @@
* @brief Implementation of the class JNIUtil
*/
+/* Include apr.h first, or INT64_C won't be defined properly on some C99
+ compilers, when other headers include <stdint.h> before defining some
+ macros.
+
+ See apr.h for the ugly details */
+#include <apr.h>
+
#include "JNIUtil.h"
#include "Array.h"
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/PatchCallback.h
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/PatchCallback.h?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/PatchCallback.h (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/PatchCallback.h Tue Oct 1 01:21:34 2013
@@ -30,8 +30,6 @@
#include <jni.h>
#include "svn_client.h"
-struct info_entry;
-
/**
* This class holds a Java callback object, which will receive every line of
* the file for which the callback information is requested.
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.cpp?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.cpp Tue Oct 1 01:21:34 2013
@@ -1090,7 +1090,7 @@ void SVNClient::streamFileContent(const
return;
SVN_JNI_ERR(svn_client_cat2(outputStream.getStream(subPool),
- path, pegRevision.revision(),
+ intPath.c_str(), pegRevision.revision(),
revision.revision(), ctx, subPool.getPool()),
);
}
@@ -1392,16 +1392,11 @@ jobject SVNClient::revProperties(const c
return CreateJ::PropertyMap(props, subPool.getPool());
}
-struct info_baton
-{
- std::vector<info_entry> infoVect;
- apr_pool_t *pool;
-};
-
void
-SVNClient::info2(const char *path, Revision &revision, Revision &pegRevision,
- svn_depth_t depth, StringArray &changelists,
- InfoCallback *callback)
+SVNClient::info2(const char *path,
+ Revision &revision, Revision &pegRevision, svn_depth_t depth,
+ svn_boolean_t fetchExcluded, svn_boolean_t fetchActualOnly,
+ StringArray &changelists, InfoCallback *callback)
{
SVN_JNI_NULL_PTR_EX(path, "path", );
@@ -1416,7 +1411,7 @@ SVNClient::info2(const char *path, Revis
SVN_JNI_ERR(svn_client_info3(checkedPath.c_str(),
pegRevision.revision(),
revision.revision(),
- depth, FALSE, TRUE,
+ depth, fetchExcluded, fetchActualOnly,
changelists.array(subPool),
InfoCallback::callback, callback,
ctx, subPool.getPool()), );
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.h
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.h?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.h (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/SVNClient.h Tue Oct 1 01:21:34 2013
@@ -64,9 +64,10 @@ class SVNClient :public SVNBase
void patch(const char *patchPath, const char *targetPath, bool dryRun,
int stripCount, bool reverse, bool ignoreWhitespace,
bool removeTempfiles, PatchCallback *callback);
- void info2(const char *path, Revision &revision, Revision &pegRevision,
- svn_depth_t depth, StringArray &changelists,
- InfoCallback *callback);
+ void info2(const char *path,
+ Revision &revision, Revision &pegRevision, svn_depth_t depth,
+ svn_boolean_t fetchExcluded, svn_boolean_t fetchActualOnly,
+ StringArray &changelists, InfoCallback *callback);
void unlock(Targets &targets, bool force);
void lock(Targets &targets, const char *comment, bool force);
jobject revProperties(const char *path, Revision &revision);
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp Tue Oct 1 01:21:34 2013
@@ -1709,8 +1709,9 @@ Java_org_apache_subversion_javahl_SVNCli
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_info2
(JNIEnv *env, jobject jthis, jstring jpath, jobject jrevision,
- jobject jpegRevision, jobject jdepth, jobject jchangelists,
- jobject jinfoCallback)
+ jobject jpegRevision, jobject jdepth,
+ jboolean jfetchExcluded, jboolean jfetchActualOnly,
+ jobject jchangelists, jobject jinfoCallback)
{
JNIEntry(SVNClient, info2);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -1737,6 +1738,7 @@ Java_org_apache_subversion_javahl_SVNCli
InfoCallback callback(jinfoCallback);
cl->info2(path, revision, pegRevision, EnumMapper::toDepth(jdepth),
+ svn_boolean_t(jfetchExcluded), svn_boolean_t(jfetchActualOnly),
changelists, &callback);
}
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Tue Oct 1 01:21:34 2013
@@ -867,7 +867,56 @@ public interface ISVNClient
throws ClientException;
/**
+ * Invoke <code>callback</code> to return information
+ * <code>pathOrUrl</code> in <code>revision</code>. The
+ * information returned is system-generated metadata, not the sort
+ * of "property" metadata created by users.
+ * <p>
+ * If both revision arguments are either <code>null</code> or
+ * {@link Revision#START}, then information will be pulled solely
+ * from the working copy; no network connections will be made.
+ * <p>
+ * Otherwise, information will be pulled from a repository. The
+ * actual node revision selected is determined by the
+ * <code>pathOrUrl</code> as it exists in
+ * <code>pegRevision</code>. If <code>pegRevision</code> is
+ * {@link Revision#START}, then it defaults to {@link
+ * Revision#HEAD} for URLs or {@link Revision#WORKING} for WC
+ * targets.
+ * <p>
+ * If <code>pathOrUrl</code> is not a local path, then if
+ * <code>revision</code> is {@link Revision#PREVIOUS} (or some
+ * other kind that requires a local path), an error will be
+ * returned, because the desired revision cannot be determined.
+ * <p>
+ * If <code>pathOrUrl</code> is a file, just invoke the callback on it. If it
+ * is a directory, then descend according to <code>depth</code>.
+ * <p>
+ * @param pathOrUrl the path or the url of the item
+ * @param revision the revision of the item to return
+ * @param pegRevision the revision to interpret pathOrUrl
+ * @param depth the depth to recurse
+ * @param fetchExcluded when <code>true</code>, retreive
+ * information about nodes that are excluded from the working copy
+ * @param fetchActualOnly when <code>true</code>, retreive
+ * information about node that are not versioned, but are still
+ * tree conflicted.
+ * @param changelists if non-null, filter paths using changelists
+ * @param callback a callback to receive the infos retrieved
+ * @since 1.9
+ */
+ void info2(String pathOrUrl,
+ Revision revision, Revision pegRevision, Depth depth,
+ boolean fertchExcluded, boolean fetchActualOnly,
+ Collection<String> changelists, InfoCallback callback)
+ throws ClientException;
+
+ /**
* Retrieve information about repository or working copy items.
+ * <p>
+ * Behaves like the 1.9 version, with <code>fetchExcluded</code>
+ * set to <code>false</code> and <code>fetchActualOnly</code> set
+ * to <code>true</code>.
* @param pathOrUrl the path or the url of the item
* @param revision the revision of the item to return
* @param pegRevision the revision to interpret pathOrUrl
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Tue Oct 1 01:21:34 2013
@@ -459,10 +459,21 @@ public class SVNClient implements ISVNCl
public native void info2(String pathOrUrl, Revision revision,
Revision pegRevision, Depth depth,
+ boolean fetchExcluded, boolean fetchActualOnly,
Collection<String> changelists,
InfoCallback callback)
throws ClientException;
+ public void info2(String pathOrUrl, Revision revision,
+ Revision pegRevision, Depth depth,
+ Collection<String> changelists,
+ InfoCallback callback)
+ throws ClientException
+ {
+ info2(pathOrUrl, revision, pegRevision, depth,
+ false, true, changelists, callback);
+ }
+
public native void patch(String patchPath, String targetPath,
boolean dryRun, int stripCount, boolean reverse,
boolean ignoreWhitespace, boolean removeTempfiles,
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java Tue Oct 1 01:21:34 2013
@@ -32,6 +32,7 @@ import org.apache.subversion.javahl.ISVN
import org.apache.subversion.javahl.JNIObject;
import org.apache.subversion.javahl.OperationContext;
import org.apache.subversion.javahl.ClientException;
+import org.apache.subversion.javahl.NativeResources;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
@@ -46,6 +47,14 @@ import static java.util.concurrent.TimeU
public class RemoteSession extends JNIObject implements ISVNRemote
{
+ /**
+ * Load the required native library.
+ */
+ static
+ {
+ NativeResources.loadNativeLibrary();
+ }
+
public void dispose()
{
if (editorReference != null)
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/RevisionRangeList.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/RevisionRangeList.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/RevisionRangeList.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/RevisionRangeList.java Tue Oct 1 01:21:34 2013
@@ -24,6 +24,7 @@
package org.apache.subversion.javahl.types;
import org.apache.subversion.javahl.ClientException;
+import org.apache.subversion.javahl.NativeResources;
import java.util.List;
@@ -39,6 +40,14 @@ public class RevisionRangeList implement
// the Java release.
private static final long serialVersionUID = 1L;
+ /**
+ * Load the required native library.
+ */
+ static
+ {
+ NativeResources.loadNativeLibrary();
+ }
+
private List<RevisionRange> ranges;
/**
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Version.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Version.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Version.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Version.java Tue Oct 1 01:21:34 2013
@@ -23,6 +23,8 @@
package org.apache.subversion.javahl.types;
+import org.apache.subversion.javahl.NativeResources;
+
/**
* Encapsulates version information about the underlying native
* libraries. Basically a wrapper for <a
@@ -31,6 +33,14 @@ package org.apache.subversion.javahl.typ
public class Version
{
/**
+ * Load the required native library.
+ */
+ static
+ {
+ NativeResources.loadNativeLibrary();
+ }
+
+ /**
* @return The full version string for the loaded JavaHL library,
* as defined by <code>MAJOR.MINOR.PATCH INFO</code>.
*/
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java Tue Oct 1 01:21:34 2013
@@ -25,6 +25,7 @@ package org.apache.subversion.javahl.uti
import org.apache.subversion.javahl.ISVNConfig;
import org.apache.subversion.javahl.ClientException;
+import org.apache.subversion.javahl.NativeResources;
import org.apache.subversion.javahl.types.*;
import org.apache.subversion.javahl.callback.*;
@@ -35,6 +36,14 @@ import org.apache.subversion.javahl.call
*/
class ConfigImpl implements ISVNConfig
{
+ /**
+ * Load the required native library.
+ */
+ static
+ {
+ NativeResources.loadNativeLibrary();
+ }
+
public Category config() { return this.configref; }
public Category servers() { return this.serversref; }
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java Tue Oct 1 01:21:34 2013
@@ -31,14 +31,6 @@ package org.tigris.subversion.javahl;
public class Path
{
/**
- * Load the required native library.
- */
- static
- {
- org.apache.subversion.javahl.NativeResources.loadNativeLibrary();
- }
-
- /**
* A valid path is a UTF-8 string without any control characters.
*
* @return Whether Subversion can store the path in a repository.
Modified: subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1527847&r1=1527846&r2=1527847&view=diff
==============================================================================
--- subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/javahl-1.7-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Tue Oct 1 01:21:34 2013
@@ -3691,8 +3691,8 @@ public class BasicTests extends SVNTests
{
final List<Info> infos = new ArrayList<Info>();
- client.info2(pathOrUrl, revision, pegRevision, depth, changelists,
- new InfoCallback () {
+ client.info2(pathOrUrl, revision, pegRevision, depth, true, true,
+ changelists, new InfoCallback () {
public void singleInfo(Info info)
{ infos.add(info); }
});