Checkout Tools
  • last updated 53 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Expose svn_client_list4() in JavaHL.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/ISVNClient.java

(ISVNClient.list): Add new overload and deprecate the old variant.

* src/org/apache/subversion/javahl/SVNClient.java

(SVNClient.list): Update the native method signature and reimplement

the old overloaded variant as a wrapper for the new native method.

* src/org/apache/subversion/javahl/callback/ListItemCallback.java:

New callback interface for ISVNClient.list.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_list): Update native method.

* native/SVNClient.h (SVNClient::list): Update method prototype.

* native/SVNClient.cpp (SVNClient::list): Update implementation.

* native/ListCallback.h (ListCallback::doList): Update prototype.

* native/ListCallback.cpp

(ListCallback::doList): Update implementation.

(ListCallback::callback): Pass externals info to doList.

  1. … 7 more files in changeset.
Add an overload to JavaHL's ISVNClient.logMessages() that allows

the API user to retreive all revision properties with each log message.

[in subversion/bindings/javahl/]

* src/org/apache/subversion/javahl/ISVNClient.java

(ISVNClient.logMessages): Add new overload for 1.10.

* src/org/apache/subversion/javahl/SVNClient.java

(ISVNClient.logMessages): Update native signature. Implement the old,

deprecated method.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_logMessages):

Update implementation of native method.

* native/SVNClient.h (SVNClient::logMessages): Update signature.

* native/SVNClient.cpp (SVNClient::logMessages): Update implementation.

* tests/org/apache/subversion/javahl/BasicTests.java,

tests/org/apache/subversion/javahl/ExceptionTests.java: Use the new overload.

  1. … 6 more files in changeset.
Expose the metadataOnly option that is already implemented in libsvn_client's

copy support through the api.

This should have been added when revving the api, as this api has been

available at the libsvn_wc level since 1.8 (and at least used by AnkhSVN

since then).

* subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_copy): Pass metadataOnly.

* subversion/bindings/javahl/native/SVNClient.cpp

(SVNClient::copy): Pass metadataOnly.

* subversion/bindings/javahl/native/SVNClient.h

(SVNClient::copy): Pass metadataOnly.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java

(copy): Add and document metadataOnly argument.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java

(copy): Add and document metadataOnly argument.

(copy): Update caller.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java

(testCopy,

testCopyPinExternals_wc2wc,

testCopyPinExternals_wc2repo,

testCopyPinExternals_repo2wc,

testCopyPinExternals_repo2repo,

testCopyPinExternals_repo2repo_explicit,

setupAndPerformMerge): Update caller.

* subversion/include/svn_client.h

(svn_client_copy7): Add argument.

* subversion/libsvn_client/copy.c

(svn_client_copy7): Add argument. Update caller.

* subversion/libsvn_client/deprecated.c

(svn_client_copy6): Update caller.

* subversion/svn/copy-cmd.c

(svn_cl__copy): Update caller.

* subversion/tests/libsvn_client/client-test.c

(test_copy_pin_externals): Update caller.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_copy_url): Update caller.

  1. … 11 more files in changeset.
Merge the pin-externals branch to trunk.

The discussion thread start in this post:

http://mail-archives.apache.org/mod_mbox/subversion-dev/201501.mbox/%3C20150128095434.GM26869%40ted.stsp.name%3E

has come to a consensus that the branch can be merged and additional

development of this feature can happen on trunk.

This merge adds a '--pin-externals' option to 'svn copy'.

This option enables automated pinning of URLs in svn:externals properties

during copy operations (issue #1258).

--pin-externals : pin externals with no explicit revision to their

last-changed revision (recommended when tagging)

This feature makes the svncopy.pl contrib script unnecessary.

Externals are "pinned" by adding a peg revision to the external's source URL.

For example, the external definition:

^/foo/bar ext_bar

might become:

^/foo/bar@400 ext_bar

This table shows which revision is used for pinning:

copy source: working copy (WC) REPOS

------------+------------------------+---------------------------+

copy WC | external's WC BASE rev | external's repos HEAD rev |

dest: |------------------------+---------------------------+

REPOS | external's WC BASE rev | external's repos HEAD rev |

------------+------------------------+---------------------------+

An external that is already pinned is left as-is.

Please see the branch log for details about these changes.

  1. … 22 more files in changeset.
As we are revving svn_client_revert() for 1.9 anyway, now is the time to

give it a 'metadata_only' flag, like we have on copy and move.

This helps gui clients that should record changes after they occured, who

don't want to revert local changes just to re-apply them using the Subversion

function. (And thereby avoiding file lock challenges on Windows)

Note that some of the refactoring in this patch is preparation for a

followup performance patch for reverting huge trees (like entire WC).

* subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_revert): Add another boolean.

* subversion/bindings/javahl/native/SVNClient.cpp

(SVNClient::revert): Forward metadata_only.

* subversion/bindings/javahl/native/SVNClient.h

(SVNClient::revert): Add metadata_only boolean.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java

(revert): Add and document argument.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java

(revert): Add argument (3*)

* subversion/include/svn_client.h

(svn_client_revert3): Add and document argument.

(svn_client_revert2): Document behavior of new argument.

* subversion/include/svn_wc.h

(svn_wc_revert5): Add and document argument.

(svn_wc_revert4): Document behavior of new argument.

* subversion/libsvn_client/deprecated.c

(svn_client_revert2): Update caller.

* subversion/libsvn_client/revert.c

(revert_with_write_lock_baton): Add flag.

(revert): Update caller. Pass error to notify.

(svn_client_revert3): Add argument. Properly use iterpool.

Update caller.

* subversion/libsvn_wc/deprecated.c

(svn_wc_revert4): Update caller.

* subversion/libsvn_wc/revert.c

(revert_wc_data): Add prototype.

(revert_restore): Add argument. Extract the non metadata work

code to revert_wc_data.

(revert_wc_data): New function. Placed below revert_restore to

minimize changes to this file in this patch.

* subversion/svn/revert-cmd.c

(svn_cl__revert): Update caller.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_revert): Update caller.

  1. … 12 more files in changeset.
Resolve issue #4475 "expose whitespace diff parameters for the javahl blame

method"

I would welcome a testcase for the new features :-)

* subversion/bindings/javahl/native/DiffOptions.cpp

(DiffOptions::optionsArray): Add comment.

(DiffOptions::fileOptions): New function.

* subversion/bindings/javahl/native/DiffOptions.h

(includes): Add svn_diff.h.

(DiffOptions::fileOptions): New function.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_blame): Add argument.

* subversion/bindings/javahl/native/SVNClient.cpp

(SVNClient::blame): Add argument.

* subversion/bindings/javahl/native/SVNClient.h

(SVNClient::blame): Add argument.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java

(blame): Rev function (the java way) by adding override with more arguments

and deprecating the old function.

  1. … 6 more files in changeset.
Finalize the JavaHL API changes for 1.9.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/ISVNClient.java,

src/org/apache/subversion/javahl/SVNClient.java

(ISVNClient.info2): Remove the overload that was added on trunk and then

replaced by ISVNClient.info.

(ISVNClient.cleanup): Add new overload that matches svn_client_cleanup2.

(ISVNClient.vacuum): New function, matches svn_client_vacuum.

* native/SVNClient.h, native/SVNClient.cpp

(SVNClient::cleanup): Update prototype and implementation.

(SVNClient::vacuum): New method.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_cleanup):

Update native method wrapper implementation.

(Java_org_apache_subversion_javahl_SVNClient_vacuum):

Implement native method wrapper.

* tests/org/apache/subversion/javahl/BasicTests.java

(BasicTests.collectInfos): Use ISVNClient.info instead of ISVNClient.info2.

  1. … 5 more files in changeset.
Remove the last trivially removable calls of deprecated functions from

JavaHL, and expose the related API changes.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/ISVNClient.java,

src/org/apache/subversion/javahl/SVNClient.java

(ISVNClient.revert): Add an overload that can optionally clear

changelist data from reverted paths.

(ISVNClient.streamFileContent): Add an overload that optionally

expands keywords and returns (regular, not inherited) file

properties.

(ISVNClient.info): New; replaces the oh-so-appropriately named

...info2, and adds a knob to include or exclude externals

in a recursive scan.

* native/SVNClient.h

(SVNClient::info): Renamed from .info2, adds same options as the Java API.

(SVNClient::streamFileContent, SVNClient::revert):

Add same options as the equivalent updated Java APIs.

* native/SVNClient.cpp:

As above, and change the method implementations to use:

* svn_client_info4 instead of svn_client_info3;

* svn_client_cat3 instead of svn_client_cat2;

* svn_client_revert3 instead of svn_client_revert2.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_revert,

Java_org_apache_subversion_javahl_SVNClient_streamFileContent,

Java_org_apache_subversion_javahl_SVNClient_info):

Reflect changes in the Java API in the native method implementations.

  1. … 4 more files in changeset.
Avoid a 64-to-32-bit conversion warning in JavaHL.

[in subversion/bindings/javahl]

* native/SVNClient.h, native/SVNClient.cpp (SVNClient::logMessages):

Change the type of the 'limit' parameter from long to int,

to match the prototype of svn_client_log5.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_logMesages):

Verify that the jlimit argument is within the range of the C int

type, and cast it accordingly in the call to SVNClient::logMessages.

  1. … 2 more files in changeset.
Reintegrated the remote-only-status branch.
  1. … 25 more files in changeset.
In JavaHL, add a variant of the ISVNClient.revert() method that

takes a set of paths to operate on, instead of just a single path.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/ISVNClient.java

(ISVNClient.revert): Added an overload that accepts a set of paths.

* src/org/apache/subversion/javahl/SVNClient.java:

Import java.util.Collections.

(ISVNClient.revert): Make the native method accept a set of paths.

Implement the single-path overload as a wrapper.

* native/SVNClient.h (SVNClient::revert): Accept an array of paths.

* native/SVNClient.cpp (SVNClient::revert): Same here.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_revert): And here.

  1. … 4 more files in changeset.
Expose the --allow-mixed-revisions merge option in JavaHL.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/ISVNClient.java

(ISVNClent.merge): Add overloads that accept an allowMixedRev parameter.

Update documentation for previous overloads.

* src/org/apache/subversion/javahl/SVNClient.java

(ISVNClent.merge): Update native prototypes with the allowMixedRev parameter.

Add wrapper implementations for the previous versions.

* native/SVNClient.h (SVNClient::merge): Add allowMixedRev parameters.

* native/SVNClient.cpp (SVNClient::merge): Likewise, and pass them on

to the core API.

* native/org_apache_subversion_javahl_SVNClient.cpp:

Update the callers in the JNI wrapper implementations.

  1. … 4 more files in changeset.
Fixed a bug in JavaHL's ISVNClient.getChangelists; it was lobotomized to

ignore the difference between a NULL and an empty changelist name array.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/ISVNClient.java

(ISVNClient.getChangelists): Updated docstring.

* native/SVNClient.h (SVNClient::getChangelists):

Changed the 'changelists' parameter to a pointer instead of a reference.

* native/SVNClient.cpp (SVNClient::getChangelists):

Preserved semantics of NULL changelist array.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_getChaangelists): Ditto.

* tests/org/apache/subversion/javahl/BasicTests.java

(BasicTests.MyChangelistCallback):

Maintain a set of all non-null changelists seen by the callback.

(BasicTests.testGetAllChangelists): New test case.

  1. … 4 more files in changeset.
Add an overload to JavaHL's ISVNClient.info2 that exposes the new

arguments from svn_client_info3.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java (info2): Added new overload that exposes parameters

fetchExcluded and fetchActualOnly.

* SVNClient.java (info2): Change native method prototype and

implement the old overload in terms of the new one.

[in subversion/bindings/javahl/native]

* SVNClient.h, SVNClient.cpp (SVNClient::info2): Added the

fetchExcluded and fetchActualOnly parameters.

* org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_info2): Likewise.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* BasicTests.java (collectInfos): Use the new info2 overload.

  1. … 5 more files in changeset.
Rename the RevpropTable class in the JavaHL native implementation, since it's

no longer used only for revision properties.

[in subversion/bindings/javahl/native]

* PropertyTable.h: Renamed from RevpropTable.h.

Rename all instances of RevpropTable to PropertyTable.

* PropertyTable.cpp: Renamed from RevpropTable.cpp.

Rename all instances of RevpropTable to PropertyTable.

* CommitEditor.cpp, SVNClient.h, SVNClient.cpp,

org_apache_subversion_javahl_SVNClient.cpp:

Rename all instances of RevpropTable to PropertyTable.

  1. … 7 more files in changeset.
Add the ignore-keywords knob to JavaHL's ISVNClient.doExport.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java (ISVNClient.doExport): Add an overload that takes the

extra ignoreKeywords parameter.

* SVNClient.java (ISVNClient.doExport): Add the new parameter to the native

declaration and implement the original overload in terms of the new one.

[in subversion/bindings/javahl/native]

* SVNClient.h, SVNClient.cpp, org_apache_subversion_javahl_SVNClient.cpp:

Update native wrappers.

  1. … 4 more files in changeset.
Reintegrate javahl-branch to trunk.

The branch history was:

------------------------------------------------------------------------

r1494474 | brane | 2013-06-19 08:50:18 +0200 (Wed, 19 Jun 2013) | 9 lines

On the javahl-ra branch: Add more test cases.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* SVNRemoteTests.java: Reorder test cases.

(SVNRemoteTests.testDispose,

SVNRemoteTests.testGetUrl_viaSVNClientWorkingCopy,

SVNRemoteTests.testGetCommitEditor,

SVNRemoteTests.testDisposeCommitEditor): New test cases.

------------------------------------------------------------------------

r1494472 | brane | 2013-06-19 08:47:50 +0200 (Wed, 19 Jun 2013) | 6 lines

On the javahl-ra branch: Fix a pool-lifetime-related bug.

* subversion/bindings/javahl/native/SVNClient.cpp

(SVNClient::openRemoteSession): In the info receiver callback, create a

local copy of the url and uuid strings.

------------------------------------------------------------------------

r1494471 | brane | 2013-06-19 08:45:08 +0200 (Wed, 19 Jun 2013) | 16 lines

On the javahl-ra branch:

Implement commit editor creation and disposal.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNEditor.java (ISVNEditor.dispose): New method.

* remote/CommitEditor.java (ISVNEditor.dispose): New (boilerplate).

(CommitEditor.createInstance): New factory method (boilerplate).

* remote/RemoteSession.java (RemoteSession.editors): New member.

(RemoteSession.nativeDispose): New native method, replaces dispose().

(dispose): Remove 'native' qualified and implement here.

[in subversion/bindings/javahl/native]

* org_apache_subversion_javahl_remote_RemoteSession.cpp

(Java_org_apache_subversion_javahl_remote_RemoteSession_nativeDispose):

Renamed from Java_org_apache_subversion_javahl_remote_RemoteSession_dispose.

------------------------------------------------------------------------

r1494225 | brane | 2013-06-18 19:42:51 +0200 (Tue, 18 Jun 2013) | 17 lines

On the javahl-ra branch:

Use plain revision numbers instead of the Revision class in ISVNRemote APIs.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNRemote.java, RemoteSession.java

(ISVNRemote.getLatestRevision, ISVNRemote.getRevisionByDate,

ISVNRemote.getRevisionByTimestamp, ISVNRemote.checkPath):

Replace Revision with long.

[in subversion/bindings/javahl/native]

* RemoteSession.h, RemoteSession.cpp,

org_apache_subversion_javahl_remote_RemoteSession.cpp:

Update all affected native wrappers.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* SVNRemoteTests.java: Update all affected test cases.

------------------------------------------------------------------------

r1494167 | brane | 2013-06-18 17:11:54 +0200 (Tue, 18 Jun 2013) | 5 lines

On the javahl-ra branch: Add commit editor boilerplate.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* remote/CommitEditor.java: New file.

------------------------------------------------------------------------

r1494164 | brane | 2013-06-18 17:09:54 +0200 (Tue, 18 Jun 2013) | 5 lines

On the javahl-ra branch:

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* remote/RemoteSession.java (RemoteSession.ctor): Update comment.

------------------------------------------------------------------------

r1493730 | brane | 2013-06-17 14:25:28 +0200 (Mon, 17 Jun 2013) | 10 lines

On the javahl-branch:

Introduce ISVNEditor, the abstract interface to EV2.

(Doesn't make much sense to expose the delta editor if EV2 will become

standard; it would only create more wrapper code.)

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNEditor.java: New interface definition.

* ISVNRemote.java (ISVNRemote.getCommitEditor): New method.

* remote/RemoteSession.java (ISVNRemote.getCommitEditor): Dummy implementation.

------------------------------------------------------------------------

r1493649 | brane | 2013-06-17 08:22:39 +0200 (Mon, 17 Jun 2013) | 22 lines

On the javahl-ra branch:

Implement ISVNRemote.getSessionRelativePath and ISVNRemote.getReposRelativePath.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNRemote.java (ISVNRemote.getReposRelativePath):

Renamed from getRepositoryRelativePath.

* remote/RemoteSession.java

(ISVNRemote.getReposRelativePath, ISVNRemote.getSessionRelativePath):

Declare native methods.

(thrownotimplemented): Remove.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* SVNRemoteTests.java (SVNRemoteTests.testGetRelativePath): New test case.

[in subversion/bindings/javahl/native]

* RemoteSession.h, RemoteSession.cpp

(RemoteSession::getReposRelativePath, RemoteSession::getSessionRelativePath)

New methods.

* org_apache_subversion_javahl_remote_RemoteSession.cpp

(Java_org_apache_subversion_javahl_remote_RemoteSession_getSessionRelativePath):

Implement native methods.

------------------------------------------------------------------------

r1493646 | brane | 2013-06-17 07:42:21 +0200 (Mon, 17 Jun 2013) | 15 lines

On the javahl-ra branch: Implement ISVNRemote.reparent.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* remote/RemoteSession.java (ISVNRemote.reparent): Declare native method.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* SVNRemoteTests.java (SVNRemoteTests.testReparent): New test case.

(SVNRemoteTests.getSession): Do not throw a checked exception.

[in subversion/bindings/javahl/native]

* RemoteSession.h, RemoteSession.cpp (RemoteSession::reparent): New.

* org_apache_subversion_javahl_remote_RemoteSession.cpp

(Java_org_apache_subversion_javahl_remote_RemoteSession_reparent):

Implement native method.

------------------------------------------------------------------------

r1493619 | brane | 2013-06-17 02:47:20 +0200 (Mon, 17 Jun 2013) | 13 lines

On the javahl-ra branch:

Throw different exceptions for redirect cycles and too many redirects,

so that the API consumer can easily tell the difference.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* remote/RetryOpenSession.java: New exception class.

* remote/RemoteFactory.java, ISVNClient.java (openRemoteSession):

Update docs about when remote.RetryOpenSession is thrown.

[in subversion/bindings/javahl/native]

* RemoteSession.cpp (RemoteSession::RemoteSession): Throw RetryOpenSession

if there were too many redirects but no cycle was detected.

------------------------------------------------------------------------

r1493616 | brane | 2013-06-17 02:08:16 +0200 (Mon, 17 Jun 2013) | 16 lines

On the javahl-ra branch:

Add support for retry-on-redirect to the remote session factory methods.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java, SVNClient.java, remote/RemoteFactory.java:

Add overloads of openRemoteSession that accept a retry count.

* SVNClient.java (nativeOpenRemoteSession): New native implementation.

[in subversion/bindings/javahl/native]

* RemoteSession.h (RemoteSession::open): Accept a retry count

and add an overload that accepts native-type parameters.

(RemoteSession::RemoteSession): Accept retry count and make private.

* RemoteSession.h (RemoteSession::open): Update implementaitons.

(RemoteSession::RemoteSession): Try to follow redirect for the given

number of retries, or until a cycle was detected.

------------------------------------------------------------------------

r1493536 | brane | 2013-06-16 19:15:51 +0200 (Sun, 16 Jun 2013) | 13 lines

On the javahl-ra branch:

Implement the RA session's cancelOperation method.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* remote/RemoteSession.java (ISVNRemoteSession.cancelOperation):

Change to native method declaration.

[in subversion/bindings/javahl/native]

* RemoteSession.h (RemoteSession::cancelOperation): New inline method.

* org_apache_subversion_javahl_remote_RemoteSession.cpp

(Java_org_apache_subversion_javahl_remote_RemoteSession_cancelOperation):

New JNI method wrapper.

------------------------------------------------------------------------

r1493499 | brane | 2013-06-16 13:12:10 +0200 (Sun, 16 Jun 2013) | 23 lines

On the javahl-ra branch:

Rename and extend the ISVNRepos interface methods and documentation.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNRemote.java, remote/RemoteSession.java:

(ISVNRemote.getSessionRelativePath, ISVNRemote.getRepositoryRelativePath ,

ISVNRemote.cancelOperstion, ISVNRemote.reparent): New methods.

(ISVNRemote.getSessionUrl): Renamed from ISVNRemote.getUrl.

(ISVNRemote.getReposUUID): Renamed from ISVNRemote.getUUID.

(ISVNRemote.getLatestRevision): Returns a Revision object instead of a long.

(ISVNRemote.getRevisionByDate): Renamed from getDatedRevision;

returns a Revision object instead of a long.

(ISVNRemote.getRevisionByTimestamp): Renamed from getDatedRevision;

returns a Revision object instead of a long.

[in subversion/bindings/javahl/native):

* RemoteSession.h, RemoteSession.cpp,

org_apache_subversion_javahl_remote_RemoteSession.cpp: Update JNI

implementation and native wrappers to match the ISVNRemote interface.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* SVNRemoteTests.java: Update test cases to match the ISVNRemote interface.

------------------------------------------------------------------------

r1493369 | brane | 2013-06-15 16:32:22 +0200 (Sat, 15 Jun 2013) | 5 lines

On the javahl-ra branch:

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java

(SVNRemoteTests.testGetSession_ConfigConstructor): New test case.

------------------------------------------------------------------------

r1493368 | brane | 2013-06-15 16:31:13 +0200 (Sat, 15 Jun 2013) | 5 lines

On the javahl-ra branch:

* subversion/bindings/javahl/native/SVNClient.cpp

(SVNClient::openRemoteSession): Handle failed prompter allocation.

------------------------------------------------------------------------

r1492954 | brane | 2013-06-14 06:58:03 +0200 (Fri, 14 Jun 2013) | 6 lines

On the javahl-ra branch:

[in subversion/bindings/javahl/src]

* org/apache/subversion/javahl/native/SVNClient.cpp

(SVNClient::openRemoteSession): Add comments to clarify object ownership.

------------------------------------------------------------------------

r1492940 | brane | 2013-06-14 05:02:54 +0200 (Fri, 14 Jun 2013) | 24 lines

On the javahl_ra branch:

Implement the SVNClient.openRemoteSession factory method.

[in subversion/bindings/javahl/native]

* OperationContext.h, OperationContext.cpp

(OperationContext::getSelf, OperationContext::getUsername,

OperationContext::getPassword, OperationContext::getPrompter):

Add accessor methods for the configuration parameters so that

the native code can use them directly.

* SVNClient.h, SVNClient.cpp (SVNClient::openRemoteSession): New.

* org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_openRemoteSession):

Implement native wrapper.

* RemoteSession.cpp (RemoteSession::open): Check returned pointer.

* org_apache_subversion_javahl_remote_RemoteFactory.cpp

(Java_org_apache_subversion_javahl_remote_RemoteFactory_open):

Do not delete the session object on failure; RemoteSession::open does that.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* SVNRemoteTests.java (SVNRemoteTests.testGetUrl_viaSVNClient):

Add a test case for SVNClient.openRemoteSession.

------------------------------------------------------------------------

r1492924 | brane | 2013-06-14 03:28:11 +0200 (Fri, 14 Jun 2013) | 36 lines

On the javahl-ra branch:

Refactor the remote session framework so that SVNClient object can create

RemoteSession instances that inherit the SVNClient's configuration.

[in subversion/bindings/javahl/native]

* RemoteSession.h (RemoteSession::open): New; factory method that accepts

parameters as JNI object references, converting them for the constructor.

(RemoteSession::RemoteSession): Change parameters from JNI object

references to native types, so that the constructor can be more easily

called from other native code.

* RemoteSession.cpp (RemoteSession::open): Implement.

(RemoteSession::RemoteSession): Rewrite to new prototype.

Move RA layer initialisation here out of the RemoteFactory JNI wrapper.

* RemoteSessionContext.h (RemoteSessionContext::RemoteSessionContext):

Change constructor to accept native typed parameters instead of

JNI object references.

* RemoteSessionContext.cpp (RemoteSessionContext::RemoteSessionContext):

rewrite to new prototype.

* Prompter.cpp (Prompter::Prompter): Don't leave a member uninitialised.

* org_apache_subversion_javahl_remote_RemoteFactory.cpp

(Java_org_apache_subversion_javahl_remote_RemoteFactory_open):

Call RemoteSession::open instead of constructing the object directly,

and remove the RA layer initialisation since it has moved elsewhere.

* org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_openRemoteSession):

New; native implementation of SVNClient.openRemoteSession.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java, SVNClient.java (ISVNClient.openRemoteSession):

New RemoteSession factory method.

------------------------------------------------------------------------

r1492590 | brane | 2013-06-13 11:17:02 +0200 (Thu, 13 Jun 2013) | 32 lines

On the javahl-ra branch:

Changed how the remote-access initialization works, putting the session

configuration defaults into the factory class instead of having to

juggle with a separate configuration object.

Also moved and renamed packages and classes, so that the common bits

don't have RA-specific names, and use 'Remote instead of 'Ra' as the

package and class base name.

Renamed classes and interfaces (within org.apache.subversion.javahl):

RaSharedContext -> OperationContext

ra.ISVNRa -> ISVNRemote

ra.SVNRa -> remote.RemoteSession

ra.SVNRaFactory -> remote.RemoteFactory

ra.RaContext -> remote.RemoteSession$RemoteSessionContext

SVNRATests -> SVNRemoteTests

Removedclasses and interfaces (within org.apache.subversion.javahl):

ra.ISVNRaConfig

ra.SVNRaConfigDefault

This change also affects:

* SVNClient.java: Base class of ClientContext renamed.

* RunTests.java: Name of remote-access test class changed.

------------------------------------------------------------------------

r1492039 | brane | 2013-06-12 05:40:42 +0200 (Wed, 12 Jun 2013) | 4 lines

On the javahl-ra branch:

Remove spurious whitespace changes compared to trunk; no functional change.

------------------------------------------------------------------------

r1353380 | vmpn | 2012-06-25 03:40:28 +0200 (Mon, 25 Jun 2012) | 26 lines

On the javahl-ra branch:

JavaHL: Add support for the svn_ra_get_session_url() function

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_ra_SVNRa.cpp

(Java_org_apache_subversion_javahl_ra_SVNRa_getUrl): New

* SVNRa.h,

SVNRa.cpp

(getUrl): New

[ in subversion/bindings/javahl/src/org/apache/subversion/javahl/ra ]

* ISVNRa.java,

SVNRa.java

(getUrl): New

[ in subversion/bindings/javahl/tests/org/apache/subversion/javahl ]

* SVNRATests.java

(getSession, getTestRepoUrl): New function for obtaining URL of the test

repository

(testGetUrl): New test for getUrl()

------------------------------------------------------------------------

r1353377 | vmpn | 2012-06-25 03:25:18 +0200 (Mon, 25 Jun 2012) | 23 lines

On the javahl-ra branch:

JavaHL: Add support for the svn_ra_get_uuid2() function

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_ra_SVNRa.cpp

(Java_org_apache_subversion_javahl_ra_SVNRa_getUUID): New

* SVNRa.h,

SVNRa.cpp

(getUUID): New

[ in subversion/bindings/javahl/src/org/apache/subversion/javahl/ra ]

* ISVNRa.java,

SVNRa.java

(getUUID): New

[ in subversion/bindings/javahl/tests/org/apache/subversion/javahl ]

* SVNRATests.java

(testGetUUID): New test for getUUID()

------------------------------------------------------------------------

r1353376 | vmpn | 2012-06-25 03:18:45 +0200 (Mon, 25 Jun 2012) | 23 lines

On the javahl-ra branch:

Pass timestamp (nano seconds) rather than date (milli seconds) to avoid

precison loss (issue #2359)

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_ra_SVNRa.cpp

(Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision): Switch from

Date to long as means of passing the timestamp

* SVNRa.h,

SVNRa.cpp

(getDatedRev): Switch from Date to long as means of passing the timestamp

[ in subversion/bindings/javahl/src/org/apache/subversion/javahl/ra ]

* ISVNRa.java,

SVNRa.java

(getDatedRevision): Switch from Date to long as means of passing the

timestamp and provide backwards compatible function accepting Date

as the parameter

------------------------------------------------------------------------

r1353373 | vmpn | 2012-06-25 03:10:50 +0200 (Mon, 25 Jun 2012) | 17 lines

On the javahl-ra branch:

Move logic from the JNI functions into their C++ counterpart classes for

consistency with the rest of the code

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_ra_SVNRa.cpp

(Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision,

Java_org_apache_subversion_javahl_ra_SVNRa_getLocks,

Java_org_apache_subversion_javahl_ra_SVNRa_checkPath):

Move logic into SVNRa class

* SVNRa.h,

SVNRa.cpp

(getDatedRev, getLocks, checkPath): Move logic from SVNRa JNI functions

------------------------------------------------------------------------

r1352751 | vmpn | 2012-06-22 03:58:24 +0200 (Fri, 22 Jun 2012) | 4 lines

On the javahl-ra branch:

* BRANCH-README: Updated to reflect the latest changes

------------------------------------------------------------------------

r1352742 | vmpn | 2012-06-22 03:41:24 +0200 (Fri, 22 Jun 2012) | 8 lines

On the javahl-ra branch:

JavaHL: Update whitespace to be compliant with project standards

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

* ISVNRa.java,

SVNRa.java

------------------------------------------------------------------------

r1352737 | vmpn | 2012-06-22 03:38:50 +0200 (Fri, 22 Jun 2012) | 47 lines

On the javahl-ra branch:

JavaHL: Merge two SVN RA session implementations into one

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_SVNReposAccess.cpp

(Java_org_apache_subversion_javahl_SVNReposAccess_ctNative,

Java_org_apache_subversion_javahl_SVNReposAccess_dispose

Java_org_apache_subversion_javahl_SVNReposAccess_finalize

Java_org_apache_subversion_javahl_SVNReposAccess_getDatedRevision

Java_org_apache_subversion_javahl_SVNReposAccess_getLocks

Java_org_apache_subversion_javahl_SVNReposAccess_checkPath):

Functionality merged into org_apache_subversion_javahl_ra_SVNRa

* org_apache_subversion_javahl_ra_SVNRa.cpp

(Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision,

Java_org_apache_subversion_javahl_ra_SVNRa_getLocks,

Java_org_apache_subversion_javahl_ra_SVNRa_checkPath): Functionality merged

from org_apache_subversion_javahl_SVNReposAccess.cpp

* SVNReposAccess.h,

SVNReposAccess.cpp,

SVNRa.h,

SVNRa.cpp

(getDatedRev, getLocks, checkPath): Functionality merged from

SVNReposAccess into SVNRa class

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl ]

* ISVNReposAccess.java,

SVNReposAccess.java

(getDatedRevision, getLocks, checkPath) Functionality

merged from SVNReposAccess into SVNRa

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

* SVNRa.java,

ISVNRa.java

(getDatedRevision, getLocks, checkPath) Functionality

merged into SVNRa from SVNReposAccess

[ in subversion/bindings/javahl/tests/org/tigris/subversion/javahl ]

* SVNRATests.java

(testDatedRev, testGetLocks, testCheckPath): Migrate test to use ISVNRa

interface

------------------------------------------------------------------------

r1352736 | vmpn | 2012-06-22 03:35:05 +0200 (Fri, 22 Jun 2012) | 9 lines

On the javahl-ra branch:

JavaHL: Implement a test for getLatestRevision() function

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

* SVNRATests.java

(getSession): New support functions for RA testing

(testGetLatestRevision): New test for the getLatestRevision function

------------------------------------------------------------------------

r1352734 | vmpn | 2012-06-22 02:11:49 +0200 (Fri, 22 Jun 2012) | 17 lines

On the javahl-ra branch:

JavaHL: Update whitespace to be compliant with project standards

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_ra_SVNRa.cpp,

org_apache_subversion_javahl_ra_SVNRaFactory.cpp,

RaContext.h,

RaContext.cpp,

SVNRa.h,

SVNRa.cpp

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra/ ]

* RaContext.java,

SVNRaFactory.java

------------------------------------------------------------------------

r1352729 | vmpn | 2012-06-22 01:53:35 +0200 (Fri, 22 Jun 2012) | 6 lines

On the javahl-ra branch:

JavaHL: Declare cppAddr immutable as per Blair Zajac suggestion

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

* JNIObject.java (cppAddr): Declare that cppAddr is an immutable value

------------------------------------------------------------------------

r1352727 | vmpn | 2012-06-22 01:48:44 +0200 (Fri, 22 Jun 2012) | 12 lines

On the javahl-ra branch:

JavaHL: Update whitespace to be compliant with project standards

[ in subversion/bindings/javahl/native ]

* SVNBase.cpp,

SVNBase.h

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

* JNIObject.java

------------------------------------------------------------------------

r1352419 | vmpn | 2012-06-21 08:03:20 +0200 (Thu, 21 Jun 2012) | 55 lines

On the javahl-ra branch:

JavaHL: Implement getLatestRevision function using the factory based approach

to the SVN remote access layer implementation

* build.conf

(options): Don't try to find new jni header files before they are generated

(javahl-java): compile classes in the src/org/apache/subversion/javahl/ra

directory

(javahl-ra-javah): new section for generating jni header files for the Ra

classes

(libsvnjavahl): make the javahl library depend on the ra jni files

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_ra_SVNRaFactory.cpp

(Java_org_apache_subversion_javahl_ra_SVNRaFactory_createRaSession): New JNI

method to create SVNRa session

* org_apache_subversion_javahl_ra_SVNRa.cpp

(Java_org_apache_subversion_javahl_ra_SVNRa_finalize,

Java_org_apache_subversion_javahl_ra_SVNRa_dispose): Implement lifecycle

JNI methods for the SVNRa session

(Java_org_apache_subversion_javahl_ra_SVNRa_getLatestRevision): Implement

the JNI wrapper around SVNRa::getLatestRevision function

* SVNRa.h,

SVNRa.cpp

(SVNRa, ~SVNRa, dispose): Implement lifecycle methods for the SVNRa session

(getLatestRevision): Implement the wrapper around svn_ra_get_latest_revnum

* RaContext.h,

RaContext.cpp

(RaContext, getCallbackBaton, getCallbacks): Implement JNI wrapper around

svn_ra_create_callbacks function

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

* SVNRaFactory.java

(<static>): Implement library initialization and version check

(createRaSession): New method to obtain ISVNRa ra session implementation

* SVNRa.java,

ISVNRa.java

(SVNRa, finalize, dispose): Implement lifecycle methods

(getLatestRevision): Implement the java wrapper around JNI getLatestRevision

function

* RaContext.java: Marker class for Ra context

* ISVNRaConfig.java,

SVNRaConfigDefault.java

(getUsername, getPassword, getPrompt, getConfigDirectory): New functions to

specify setting to be used in creating of RA session

------------------------------------------------------------------------

r1352403 | vmpn | 2012-06-21 06:06:11 +0200 (Thu, 21 Jun 2012) | 8 lines

On the javahl-ra branch:

JavaHL: Factor out common context to be shared between SVNClient and SVNRa

classes

[ in subversion/bindings/javahl/native ]

* RaSharedContext.cpp: Update whitespace to be compliant with project standards

------------------------------------------------------------------------

r1352402 | vmpn | 2012-06-21 06:02:04 +0200 (Thu, 21 Jun 2012) | 26 lines

On the javahl-ra branch:

JavaHL: Factor out common context to be shared between SVNClient and SVNRa

classes

[ in subversion/bindings/javahl/native ]

* RaSharedContext.cpp,

RaSharedContext.h,

ClientContext.cpp,

ClientContext.h

(username, password, getConfigDirectory, setConfigDirectory, setPrompt,

cancelOperation, progress): Move from ClientContext to RaSharedContext

* RaSharedContext.cpp,

RaSharedContext.h

(attachJavaObject): New function to hold common logic of attaching to the

java CommonContext class used for callbacks

(getConfigData, getAuthBaton): Split getContext into separate configuration

data setup and authentication data setup to better reflect their different life cycles

(getClientName): New function providing client name to be used in callbacks

* ClientContext.cpp,

ClientContext.h

(ClientContext, getContext): Use the factored out RaSharedContext member

variables and functions

------------------------------------------------------------------------

r1352401 | vmpn | 2012-06-21 05:51:02 +0200 (Thu, 21 Jun 2012) | 11 lines

On the javahl-ra branch:

JavaHL: Factor out common context to be shared between SVNClient and SVNRa

classes

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

* RaSharedContext.java,

CommonContext.java,

SVNClient.java: Rename CommonContext to RaSharedContext as it better

describes the purpose of the class

------------------------------------------------------------------------

r1352400 | vmpn | 2012-06-21 05:34:05 +0200 (Thu, 21 Jun 2012) | 15 lines

On the javahl-ra branch:

JavaHL: New method for creating java objects linked to their C++ counterpart

[ in subversion/bindings/javahl/native ]

* SVNBase.cpp,

SVNBase.h

(createCppBoundObject): New method for creating java objects linked to their

C++ counterpart

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

* JNIObject.java: Base class for JNI linked java objects

------------------------------------------------------------------------

r1347345 | vmpn | 2012-06-07 05:07:50 +0200 (Thu, 07 Jun 2012) | 9 lines

On the javahl-ra branch:

JavaHL: Replace tabs introduced by mistake in the r1343452 with spaces

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

* CommonContext.java

(getListener, setListener): Replace tabs with spaces

------------------------------------------------------------------------

r1344977 | vmpn | 2012-06-01 05:10:46 +0200 (Fri, 01 Jun 2012) | 10 lines

JavaHL: Added CPPADDR_NULL_PTR macro to reduce amount of duplicate code

checking C++ pointer extracted from the java object

[ in subversion/bindings/javahl/native ]

* JNIUtil.h

(CPPADDR_NULL_PTR): New macro to test for NULL pointer and raise java

exception if necessary

Approved by: gstein

------------------------------------------------------------------------

r1343456 | vmpn | 2012-05-29 04:57:05 +0200 (Tue, 29 May 2012) | 12 lines

On the javahl-ra branch:

JavaHL: Support returning non const, empty rather than NULL hash as required

by (svn_ra_get_commit_editor3) apr_hash_t *revprop_table parameter

[ in subversion/bindings/javahl/native ]

* RevpropTable.cpp,

RevpropTable.h

(hash): Removed const qualifier and added bool nullIfEmpty parameter to

specify whether empty hash or NULL should be returned

------------------------------------------------------------------------

r1343452 | vmpn | 2012-05-29 04:51:12 +0200 (Tue, 29 May 2012) | 11 lines

On the javahl-ra branch:

JavaHL: Factored out common context for later use by the SVNRa class

[ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

* CommonContext.java,

SVNClient.java

(ClientContext): Move the progress listener into CommonContext for later

sharing with the new SVNRa class

------------------------------------------------------------------------

r1343450 | vmpn | 2012-05-29 03:48:55 +0200 (Tue, 29 May 2012) | 18 lines

On the javahl-ra branch:

Merge r1342810 from trunk and bring SVNReposAccess up to date with it.

JavaHL: Explicitly pass jobject jthis when processing dispose() call rather

than stashing a reference in the SVNBase class where it can be missused later

[ in subversion/bindings/javahl/native ]

* SVNReposAccess.cpp,

SVNReposAccess.h

(dispose): Accept object jthis as explicit parameter and pass it to

SVNBase::dispose

* org_apache_subversion_javahl_SVNReposAccess.cpp

(Java_org_apache_subversion_javahl_SVNReposAccess_dispose): Pass object jthis

as explicit parameter and pass it to the C++ wrapper class

------------------------------------------------------------------------

r1342682 | vmpn | 2012-05-25 17:19:21 +0200 (Fri, 25 May 2012) | 9 lines

On the javahl-ra branch:

JavaHL: Changed return value from the java svn_stream_t read function to be

compatible with the txdelta_next_window function

[ in subversion/bindings/javahl/native ]

* InputStream.cpp

(read): Return 0 instead of -1 as expected by the txdelta_next_window function

------------------------------------------------------------------------

r1342676 | vmpn | 2012-05-25 17:12:56 +0200 (Fri, 25 May 2012) | 22 lines

On the javahl-ra branch:

Brought RA implementation up to date with changes merged from trunk in r1329205

[in subversion/bindings/javahl/native]

* SVNReposAccess.cpp

(SVNReposAccess): Drop the global pool mutex as it is not necessary, as

per r1154119

(getDatedRev, getLocks, checkPath): Use getPool() instead of pool as per

r1154155

[in subversion/bindings/javahl/src/org/apache/subversion/javahl/]

* ISVNReposAccess.java,

SVNReposAccess.java: Added imports for org.apache.subversion.javahl.types.*

because classes moved from the org.apache.subversion.javahl package

[in subversion/bindings/javahl/test/org/apache/subversion/javahl/]

* SVNRATests.java: Added imports for org.apache.subversion.javahl.types.*

because classes moved from the org.apache.subversion.javahl package

------------------------------------------------------------------------

r993544 | hwright | 2010-09-08 00:00:57 +0200 (Wed, 08 Sep 2010) | 22 lines

On the javahl-ra branch:

Implement the checkPath() RA method for JavaHL.

[ in subversion/bindings/javahl/ ]

* tests/org/apache/subversion/javahl/SVNRATests.java

(testCheckPath): New.

* native/SVNReposAccess.h

(checkPath): New.

* native/SVNReposAccess.cpp

(checkPath): New.

* native/org_apache_subversion_javahl_SVNReposAccess.cpp

(Java_org_apache_subversion_javahl_SVNReposAccess_checkPath): New.

* src/org/apache/subversion/javahl/ISVNReposAccess.java

(checkPath): New.

* src/org/apache/subversion/javahl/SVNReposAccess.java

(checkPath): New.

------------------------------------------------------------------------

r993495 | hwright | 2010-09-07 21:39:41 +0200 (Tue, 07 Sep 2010) | 6 lines

On the javahl-ra branch:

Make a function private which has no need of publicity.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java

(getCppAddr): Privatize.

------------------------------------------------------------------------

r993494 | hwright | 2010-09-07 21:38:09 +0200 (Tue, 07 Sep 2010) | 8 lines

On the javahl-ra branch:

Ensure we inform callers that we may well throw SubversionExceptions.

[ in subversion/bindings/javahl/ ]

* src/org/apache/subversion/javahl/ISVNReposAccess.java,

src/org/apache/subversion/javahl/SVNReposAccess.java

(getDatedRevision, getLocks): Add throws SubversionException clause.

------------------------------------------------------------------------

r993493 | hwright | 2010-09-07 21:32:23 +0200 (Tue, 07 Sep 2010) | 29 lines

On the javahl-ra branch:

Implement the getLocks() ra API in JavaHL.

[ in subversion/bindings/javahl/ ]

* tests/org/apache/subversion/javahl/SVNRATests.java

(setUp): Create a working copy, because it will be useful for out tests.

(testGetLocks): New.

* native/CreateJ.cpp

(LockMap): New.

* native/SVNReposAccess.h

(getLocks): New.

* native/SVNReposAccess.cpp

(getLocks): New.

* native/org_apache_subversion_javahl_SVNReposAccess.cpp

(Java_org_apache_subversion_javahl_SVNReposAccess_getLocks): New.

* native/CreateJ.h

(LockMap): New.

* src/org/apache/subversion/javahl/ISVNReposAccess.java

(getLocks): New.

* src/org/apache/subversion/javahl/SVNReposAccess.java

(getLocks): New.

------------------------------------------------------------------------

r993427 | hwright | 2010-09-07 19:00:27 +0200 (Tue, 07 Sep 2010) | 35 lines

On the javahl-ra branch:

Expose the getDatedRevision() RA API through Java.

[ in subversion/bindings/javahl/ ]

* tests/org/apache/subversion/javahl/SVNRATests.java

(testDatedRev): New.

* native/SVNReposAccess.h

(getDatedRev, m_sess_pool, m_ra_session): New.

(SVNReposAccess): Add repos url param.

* native/JNIUtil.cpp

(getDate): New.

* native/SVNReposAccess.cpp

(SVNReposAccess): Add repos url param, and create an ra_session.

(~SVNReposAccess): Destroy the session pool.

(getDatedRev): New.

* native/JNIUtil.h

(getDate): New.

* native/org_apache_subversion_javahl_SVNReposAccess.cpp

(Java_org_apache_subversion_javahl_SVNReposAccess_ctNative):

Construct the C++ peer with the repos url.

(Java_org_apache_subversion_javahl_SVNReposAccess_getDatedRevision): New.

* src/org/apache/subversion/javahl/ISVNReposAccess.java

(getDatedRevision): New.

* src/org/apache/subversion/javahl/SVNReposAccess.java

(SVNReposAccess): Pass the reposURI to the native constructor.

(ctNative): Accept the repos URI.

(getDatedRevision): New.

------------------------------------------------------------------------

r992125 | hwright | 2010-09-02 23:45:15 +0200 (Thu, 02 Sep 2010) | 17 lines

On the javahl-ra branch:

Add the plumbing to start wrapping the ra layer in JavaHL. This doesn't

actually *do* anything yet, but it does create the initial interface and

test classes.

[ in subversion/bindings/javahl/ ]

* tests/org/apache/subversion/javahl/RunTests.java

(suite): Add the new RA test suite.

* tests/org/apache/subversion/javahl/SVNRATests.java,

src/org/apache/subversion/javahl/ISVNReposAccess.java,

src/org/apache/subversion/javahl/SVNReposAccess.java,

native/SVNReposAccess.h,

native/SVNReposAccess.cpp,

native/org_apache_subversion_javahl_SVNReposAccess.cpp:

New.

------------------------------------------------------------------------

r991978 | hwright | 2010-09-02 17:21:08 +0200 (Thu, 02 Sep 2010) | 3 lines

Create javahl-ra branch, to experiment with exposing some bits of the RA

library over JavaHL.

  1. … 33 more files in changeset.
Update JavaHL to use the revised svn_client_mergeinfo_log API.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java, SVNClient.java (ISVNClient.getMergeinfoLog):

Add overload that accepts the start and end source revision.

[i subversion/bindings/javahl/native]

* SVNClient.h, SVNClient.cpp (SVNClient::getMergeinfoLog):

Update native implementation to use the revision range.

(org_apache_subversion_javahl_SVNClient.cpp): Update JNI wrapper.

  1. … 4 more files in changeset.
Fix non-peg merge compatibility wrapper in JavaHL.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* SVNClient.java (SVNClient.merge): Fix silly typo in order of parameters in

wrapped call to native method.

* ISVNClient.java: Whitespace change, no functional difference.

* subversion/bindings/javahl/native/SVNClient.h (SVNClient::merge):

Remove extraneous overload declaration.

  1. … 2 more files in changeset.
Update JavaHL to use the revised svn_client_merge5 and svn_client_merge_peg5 APIs.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java, SVNClient.java (ISVNClient.merge): Add two new

overloads that match the new svn_client functions.

In the peg-merge case, allow passing a null revision range.

[in subversion/bindings/javahl/native]

* SVNClient.h, SVNClient.cpp (SVNClient::merge): Update the native implementation

to accept the new svn_client parameters, and also accept a null revision range.

* org_apache_subversion_javahl_SVNClient.cpp: Update JNI native wrappers.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* BasicTests.java (BasicTests.testMergeUsingHistoryImpliedRange):

New test case, verifies that null merge range works as expected.

  1. … 5 more files in changeset.
Extend JavaHL's diff to accept options controlling the output format.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* types/DiffOptions.java (DiffOptions): New class, encapsulating a number

of options that control the format of the diff output.

* ISVNClient.java, SVNClient.java (ISVNClient.diff): Added four more

overloads (two of which are implemented as native methods)

that accept an additional DiffOptions parameter.

[in subversion/bindings/javahl/native]

* DiffOptions.h, DiffOptions.cpp (DiffOptions):

New class, C++ mirror of the Java class DiffOptions.

* SVNClient.h, SVNClient.cpp (SVNClient::diff): Update native implementation

to accept an aditional DiffOptions reference parameter.

* org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_diff): Update native wrapper.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java

(BasicTests.testDiffOptions): New test case for diff with options.

  1. … 8 more files in changeset.
Update JavaHL to support the 1.8 allow_mixed_revisions flag to move.

[In subversion/bindings/javahl]

* native/SVNClient.h

* native/SVNClient.cpp

(SVNClient::move): Add allowMixRev parameter.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_move): Add allowMixRev

parameter.

* src/org/apache/subversion/javahl/ISVNClient.java

(ISVNClient.move): Add allowMixRev parameter.

* src/org/apache/subversion/javahl/SVNClient.java

(SVNClient.move): Add allowMixRev parameter.

* src/org/tigris/subversion/javahl/SVNClient.java

(SVNClient.move): Pass true for allowMixRev.

* tests/org/apache/subversion/javahl/BasicTests.java

(BasicTests.testMove, BasicTests.testTreeConflict): Pass false for

allowMixRev.

  1. … 6 more files in changeset.
Working on isue #4326 (update javahl with new 1.8 APIs).

Add the no_autoprops option to SVNClient.doImport.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java (ISVNClient.doImport): Add the noAutoProps parameter

to the 1.8 overload of this method, and add a docstring.

Update the docstring of the older overload.

* SVNClient.java (SVNClient.doImport): Update the older overloaded

wrapper for the native method, update the native method declaration.

* callback/ImportFilterCallback.java (ImportFilterCallback):

Note in the docstring that this class is new in 1.8.

[in subversion/bindings/javahl/native]

* SVNClient.h, SVNCient.cpp (SVNClient.doImport): Add noAutoProps parameter.

* org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_doImport): Update native method.

  1. … 5 more files in changeset.
Update JavaHL to support the 1.8 metadataOnly flag to move.

[In subversion/bindings/javahl]

* native/SVNClient.h

* native/SVNClient.cpp

(SVNClient::move): Add metadataOnly parameter.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_move): Add metadataOnly

parameter.

* src/org/apache/subversion/javahl/ISVNClient.java

(ISVNClient.move): Add metadataOnly parameter.

* src/org/apache/subversion/javahl/SVNClient.java

(SVNClient.move): Add metadataOnly parameter.

* src/org/tigris/subversion/javahl/SVNClient.java

(SVNClient.move): Pass false for metadataOnly.

* tests/org/apache/subversion/javahl/BasicTests.java

(BasicTests.testMove, BasicTests.testTreeConflict): Pass false for

metadataOnly.

  1. … 6 more files in changeset.
Working on isue #4326 (update javahl with new 1.8 APIs).

Update ISVNCLient.add to expose the no_autoprops option.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java (ISVNClient.add): Add new overload for this method

with noAutoProps parameter. Update docstring on old version.

* SVNClient.java (SVNClient.add): Native method grows the noAutoProps parameter.

Implement the old interface as a wrapper around the new interface.

[in subversion/bindings/javahl/native]

* SVNClient.h (SVNClient.add): Add no_autoprops parameter to prototype.

* SVNClient.cpp (SVNCLient.add): Update implementation and call

svn_client_add5 instead of svn_client_add4.

* org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_add): Update native wrapper.

  1. … 4 more files in changeset.
Working on isue #4326 (update javahl with new 1.8 APIs).

Implement the svn_version_extended interface in JavaHL.

* build.conf: Declare new JavaHL generated headers.

[in subversion/bindings/javahl/native]

* VersionExtended.h: New; declares native wrapper for svn_version_extended_t.

* VersionExtended.cpp: Out-of-line implementation of VersionExtended.h

* org_apache_subversion_javahl_types_VersionExtended.cpp:

Implementations of native methods declared in VersionExtended.java.

* SVNClient.h (SVNCliend::getVersionExtended): New method.

* SVNClient.cpp: Inclide VersionExtended.h.

(SVNCliend::getVersionExtended): Implement.

* org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_getVersionExtended):

Implementation of JNI method SVNClient.getVersionExteded.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]

* ISVNClient.java (SVNCliend.getVersionExtended): New interface method.

* SVNClient.java (SVNCliend.getVersionExtended): New native method.

* types/VersionExtended.java: New; Java wrapper for svn_version_extended_t.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]

* BasicTests.java

(BasicTests.testVersionExtendedQuiet,

BasicTests.testVersionExtendedVerbose): New test cases.

  1. … 10 more files in changeset.
Following the rename of libsvn_client merge 'force' parameters to

'force_delete' in r1435401, change all their callers likewise.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_merge__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2ZLorg_apache_subversion_javahl_types_Depth_2ZZZ): As above.

* subversion/bindings/javahl/native/SVNClient.h,

subversion/bindings/javahl/native/SVNClient.cpp

(SVNClient::merge): Same (in both variants of this function).

* subversion/svn/merge-cmd.c

(merge_reintegrate, automatic_merge, svn_cl__merge): Same.

  1. … 3 more files in changeset.
JavaHL: Update bindings to the most recent import API. This adds a filter

function callback to the Java side, and punches it through to the C layer.

This builds, but has not been fully tested.

[ in subversion/bindings/javahl/ ]

* native/ImportFilterCallback.cpp,

native/ImportFilterCallback.h: New.

* native/SVNClient.h,

native/SVNClient.cpp

(doImport): Add ImportFilterCallback argument, and update API.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_doImport): Add the import filter

callback and pass it down the bindings stack.

* src/org/apache/subversion/javahl/ISVNClient.java,

src/org/apache/subversion/javahl/SVNClient.java

(doImport): New version of the import API.

* src/org/apache/subversion/javahl/callback/ImportFilterCallback.java: New.

  1. … 7 more files in changeset.
JavaHL: Punch additional changelist parameter for property fetching to

the Java layer.

[ in subversion/bindings/javahl/ ]

* native/SVNClient.cpp,

native/SVNClient.h

(SVNClient::propertyGet): Add changelists param.

* native/org_apache_subversion_javahl_SVNClient.cpp

(Java_org_apache_subversion_javahl_SVNClient_propertyGet):

Add changelists param, pass to C++ layer.

* src/org/apache/subversion/javahl/ISVNClient.java,

src/org/apache/subversion/javahl/SVNClient.java

(propertyGet): Add overload to accept changelists param.

  1. … 4 more files in changeset.
JavaHL: Explicitly pass jobject jthis when processing dispose() call rather

than stashing a reference in the SVNBase class where it can be misused later

[ in subversion/bindings/javahl/native ]

* SVNBase.cpp,

SVNBase.h

(dispose, jthis): Accept jobject jthis as explicit parameter to dispose() and

delete the member variable jthis

* SVNClient.cpp,

SVNClient.h,

SVNRepos.cpp,

SVNRepos.h

(dispose): Accept object jthis as explicit parameter and pass it to

SVNBase::dispose

* org_apache_subversion_javahl_SVNClient.cpp,

org_apache_subversion_javahl_SVNRepos.cpp

(Java_org_apache_subversion_javahl_SVNClient_dispose,

Java_org_apache_subversion_javahl_SVNRepos_dispose):

Pass object jthis as explicit parameter and pass it to the C++ wrapper class

Approved by: hwright

  1. … 7 more files in changeset.