Author: rhuijben
Date: Thu Jun 24 14:54:46 2010
New Revision: 957569
URL: http://svn.apache.org/viewvc?rev=957569&view=rev
Log:
* subversion/bindings/javahl/native/CreateJ.cpp
(CreateJ::Status): Use svn_wc__node_get_info_bits() and
svn_wc__node_get_copyfrom_info() to get information that was previously
retrieved by reading a svn_wc_entry_t.
Modified:
subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
Modified: subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp?rev=957569&r1=957568&r2=957569&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp Thu Jun 24
14:54:46 2010
@@ -546,34 +546,48 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
if (status->versioned)
{
- /* ### This call returns SVN_ERR_ENTRY_NOT_FOUND for all not found
- ### cases including the (for status) ignored
- ### SVN_ERR_NODE_UNEXPECTED_KIND!. Needs a workaround for 100%
- ### compatibility with <= 1.6 */
- svn_error_t *err = svn_wc__get_entry_versioned(&entry, wc_ctx,
local_abspath,
- svn_node_unknown,
FALSE, FALSE,
- pool, pool);
-
- if (err && err->apr_err == SVN_ERR_ENTRY_NOT_FOUND)
- svn_error_clear(err);
- else
- SVN_JNI_ERR(err, NULL);
- }
+ const char *conflict_new, *conflict_old, *conflict_wrk;
+ const char *copyfrom_url;
+ svn_revnum_t copyfrom_rev;
+
+ /* This call returns SVN_ERR_ENTRY_NOT_FOUND for some hidden
+ cases, which we can just ignore here as hidden nodes
+ are not in text or property conflict. */
+ svn_error_t *err = svn_wc__node_get_info_bits(NULL,
+ NULL,
+ &conflict_old,
+ &conflict_new,
+ &conflict_wrk,
+ NULL,
+ wc_ctx, local_abspath,
+ pool, pool);
+
+ if (err)
+ {
+ if (err->apr_err == SVN_ERR_ENTRY_NOT_FOUND)
+ svn_error_clear(err);
+ else
+ SVN_JNI_ERR(err, NULL);
+ }
- if (entry != NULL)
- {
- jConflictNew = JNIUtil::makeJString(entry->conflict_new);
+ jConflictNew = JNIUtil::makeJString(conflict_new);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jConflictOld = JNIUtil::makeJString(entry->conflict_old);
+ jConflictOld = JNIUtil::makeJString(conflict_old);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jConflictWorking= JNIUtil::makeJString(entry->conflict_wrk);
+ jConflictWorking= JNIUtil::makeJString(conflict_wrk);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
+ SVN_JNI_ERR(svn_wc__node_get_copyfrom_info(©from_url,
+ ©from_rev,
+ NULL,
+ wc_ctx, local_abspath,
+ pool, pool), NULL);
+
jURLCopiedFrom = JNIUtil::makeJString(entry->copyfrom_url);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;