You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2014/03/13 16:27:52 UTC
svn commit: r1577198 - in
/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl: ./
native/ src/org/apache/subversion/javahl/
src/org/apache/subversion/javahl/remote/
src/org/apache/subversion/javahl/types/ src/org/tigris/subversion/jav...
Author: brane
Date: Thu Mar 13 15:27:51 2014
New Revision: 1577198
URL: http://svn.apache.org/r1577198
Log:
On the javahl-1.8-extensions branch: Sync JavaHL from trunk up to r1577183.
Modified:
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/ (props changed)
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/CreateJ.cpp
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/JNIUtil.cpp
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictResult.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Info.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java
subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
Propchange: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/
------------------------------------------------------------------------------
Merged /subversion/trunk/subversion/bindings/javahl:r1571595-1577183
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/CreateJ.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/CreateJ.cpp?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/CreateJ.cpp Thu Mar 13 15:27:51 2014
@@ -631,7 +631,10 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
"L"JAVA_PACKAGE"/types/Status$Kind;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
- "ZZZZZL"JAVA_PACKAGE"/types/Lock;"
+ "L"JAVA_PACKAGE"/types/Status$Kind;"
+ "L"JAVA_PACKAGE"/types/Status$Kind;"
+ "ZZL"JAVA_PACKAGE"/types/Depth;"
+ "ZZZL"JAVA_PACKAGE"/types/Lock;"
"L"JAVA_PACKAGE"/types/Lock;"
"JJL"JAVA_PACKAGE"/types/NodeKind;"
"Ljava/lang/String;Ljava/lang/String;"
@@ -657,27 +660,16 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
jstring jMovedFromAbspath = NULL;
jstring jMovedToAbspath = NULL;
- enum svn_wc_status_kind text_status = status->node_status;
-
- /* Avoid using values that might come from prop changes */
- if (text_status == svn_wc_status_modified
- || text_status == svn_wc_status_conflicted)
- text_status = status->text_status;
-
- enum svn_wc_status_kind repos_text_status = status->repos_node_status;
-
- if (repos_text_status == svn_wc_status_modified
- || repos_text_status == svn_wc_status_conflicted)
- repos_text_status = status->repos_text_status;
-
- jboolean jIsConflicted = (status->conflicted == 1) ? JNI_TRUE : JNI_FALSE;
- jobject jTextType = EnumMapper::mapStatusKind(text_status);
+ jobject jNodeType = EnumMapper::mapStatusKind(status->node_status);
+ jobject jTextType = EnumMapper::mapStatusKind(status->text_status);
jobject jPropType = EnumMapper::mapStatusKind(status->prop_status);
- jobject jRepositoryTextType = EnumMapper::mapStatusKind(repos_text_status);
- jobject jRepositoryPropType = EnumMapper::mapStatusKind(
- status->repos_prop_status);
- jboolean jIsCopied = (status->copied == 1) ? JNI_TRUE: JNI_FALSE;
+ jobject jRpNodeType = EnumMapper::mapStatusKind(status->repos_node_status);
+ jobject jRpTextType = EnumMapper::mapStatusKind(status->repos_text_status);
+ jobject jRpPropType = EnumMapper::mapStatusKind(status->repos_prop_status);
+ jobject jDepth = EnumMapper::mapDepth(status->depth);
jboolean jIsLocked = (status->wc_is_locked == 1) ? JNI_TRUE: JNI_FALSE;
+ jboolean jIsCopied = (status->copied == 1) ? JNI_TRUE: JNI_FALSE;
+ jboolean jIsConflicted = (status->conflicted == 1) ? JNI_TRUE : JNI_FALSE;
jboolean jIsSwitched = (status->switched == 1) ? JNI_TRUE: JNI_FALSE;
jboolean jIsFileExternal = (status->file_external == 1) ? JNI_TRUE
: JNI_FALSE;
@@ -743,9 +735,10 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
jobject ret = env->NewObject(clazz, mid, jPath, jUrl, jNodeKind, jRevision,
jLastChangedRevision, jLastChangedDate,
- jLastCommitAuthor, jTextType, jPropType,
- jRepositoryTextType, jRepositoryPropType,
- jIsLocked, jIsCopied, jIsConflicted,
+ jLastCommitAuthor,
+ jNodeType, jTextType, jPropType,
+ jRpNodeType, jRpTextType, jRpPropType,
+ jIsLocked, jIsCopied, jDepth, jIsConflicted,
jIsSwitched, jIsFileExternal, jLocalLock,
jReposLock,
jOODLastCmtRevision, jOODLastCmtDate,
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/JNIUtil.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/JNIUtil.cpp?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/JNIUtil.cpp (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/native/JNIUtil.cpp Thu Mar 13 15:27:51 2014
@@ -214,7 +214,7 @@ bool JNIUtil::JNIGlobalInit(JNIEnv *env)
#ifdef WIN32
{
WCHAR ucs2_path[MAX_PATH];
- char *utf8_path;
+ const char *utf8_path;
const char *internal_path;
apr_pool_t *pool;
apr_status_t apr_err;
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictResult.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictResult.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictResult.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictResult.java Thu Mar 13 15:27:51 2014
@@ -42,7 +42,7 @@ public class ConflictResult
private String mergedPath;
/**
- * Create a new conflict result instace.
+ * Create a new conflict result instance.
*/
public ConflictResult(Choice choice, String mergedPath)
{
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Thu Mar 13 15:27:51 2014
@@ -1023,9 +1023,9 @@ public interface ISVNClient
* #diffSummarize(String, Revision, String, Revision, Depth,
* Collection, boolean, DiffSummaryCallback)}, using
* <code>path</code> for both of that method's targets.
- * @param startRevision Beginning of range for comparsion of
+ * @param startRevision Beginning of range for comparison of
* <code>target</code>.
- * @param endRevision End of range for comparsion of
+ * @param endRevision End of range for comparison of
* <code>target</code>.
* @param depth how deep to recurse.
* @param changelists if non-null, filter paths using changelists
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java Thu Mar 13 15:27:51 2014
@@ -110,7 +110,7 @@ public interface ISVNRemote
/**
* Get the latest revision number at the given time, expressed as
- * the number of milliseconds since the epoch, from the session's
+ * the number of microseconds since the epoch, from the session's
* repository.
* @throws ClientException
*/
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Thu Mar 13 15:27:51 2014
@@ -53,7 +53,7 @@ public class SVNClient implements ISVNCl
}
/**
- * Standard empty contructor, builds just the native peer.
+ * Standard empty constructor, builds just the native peer.
*/
public SVNClient()
{
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java Thu Mar 13 15:27:51 2014
@@ -47,7 +47,7 @@ public class SVNRepos implements ISVNRep
}
/**
- * Standard empty contructor, builds just the native peer.
+ * Standard empty constructor, builds just the native peer.
*/
public SVNRepos()
{
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java Thu Mar 13 15:27:51 2014
@@ -43,7 +43,7 @@ import java.util.Set;
import java.io.OutputStream;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static java.util.concurrent.TimeUnit.NANOSECONDS;
+import static java.util.concurrent.TimeUnit.MICROSECONDS;
public class RemoteSession extends JNIObject implements ISVNRemote
{
@@ -102,7 +102,7 @@ public class RemoteSession extends JNIOb
public long getRevisionByDate(Date date) throws ClientException
{
- long timestamp = NANOSECONDS.convert(date.getTime(), MILLISECONDS);
+ long timestamp = MICROSECONDS.convert(date.getTime(), MILLISECONDS);
return getRevisionByTimestamp(timestamp);
}
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Info.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Info.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Info.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Info.java Thu Mar 13 15:27:51 2014
@@ -286,6 +286,16 @@ public class Info implements java.io.Ser
}
/**
+ * Returns the last date the item was changed measured in the
+ * number of microseconds since 00:00:00 January 1, 1970 UTC.
+ * @return the last time the item was changed.
+ */
+ public long getLastChangedDateMicros()
+ {
+ return lastChangedDate;
+ }
+
+ /**
* return the author of the last change
*/
public String getLastChangedAuthor()
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java Thu Mar 13 15:27:51 2014
@@ -38,7 +38,7 @@ public class Status implements java.io.S
// Update the serialVersionUID when there is a incompatible change made to
// this class. See the java documentation for when a change is incompatible.
// http://java.sun.com/javase/7/docs/platform/serialization/spec/version.html#6678
- private static final long serialVersionUID = 2L;
+ private static final long serialVersionUID = 3L;
/**
* the url for accessing the item
@@ -77,12 +77,19 @@ public class Status implements java.io.S
private String lastCommitAuthor;
/**
- * the file or directory status (See StatusKind)
+ * The status of the node, based on restructuring changes; if the node
+ * has no restructuring changes, it's based on textStatus and propStatus.
+ * @since 1.9
+ */
+ private Kind nodeStatus;
+
+ /**
+ * The file or directory status, not including restructuring changes.
*/
private Kind textStatus;
/**
- * the status of the properties (See StatusKind)
+ * The status of the properties.
*/
private Kind propStatus;
@@ -108,11 +115,24 @@ public class Status implements java.io.S
private boolean fileExternal;
/**
+ * The depth of the node as recorded in the working copy.
+ * @since 1.9
+ */
+ private Depth depth;
+
+ /**
* is this item in a conflicted state
*/
private boolean isConflicted;
/**
+ * The status of the node, based on text and property status, unless the
+ * node has restructuring changes.
+ * @since 1.9
+ */
+ private Kind repositoryNodeStatus;
+
+ /**
* the file or directory status of base (See StatusKind)
*/
private Kind repositoryTextStatus;
@@ -164,7 +184,6 @@ public class Status implements java.io.S
private String movedFromAbspath;
private String movedToAbspath;
-
/**
* this constructor should only called from JNI code
* @param path the file system path of item
@@ -174,22 +193,17 @@ public class Status implements java.io.S
* @param lastChangedRevision the last revision this item was changed
* @param lastChangedDate the last date this item was changed
* @param lastCommitAuthor the author of the last change
- * @param textStatus the file or directory status (See
- * StatusKind)
- * @param propStatus the property status (See StatusKind)
- * @param repositoryTextStatus the file or directory status of the base
+ * @param nodeStatus the status of the node
+ * @param textStatus the file or directory contents status
+ * @param propStatus the property status
+ * @param repositoryNodeStatus the status of the base node
+ * @param repositoryTextStatus the file or directory contents status of the base
* @param repositoryPropStatus the property status of the base
* @param locked if the item is locked (running or aborted
* operation)
* @param copied if the item is copy
+ * @param depth the inherent depth of the node in the working copy
* @param isConflicted if the item is part of a conflict
- * @param conflictDescriptor the description of the tree conflict
- * @param conflictOld in case of conflict, the file name of the
- * the common base version
- * @param conflictNew in case of conflict, the file name of new
- * repository version
- * @param conflictWorking in case of conflict, the file name of the
- * former working copy version
* @param switched flag if the node has been switched in the
* path
* @param fileExternal flag if the node is a file external
@@ -205,12 +219,16 @@ public class Status implements java.io.S
* @param changelist the changelist the item is a member of
* @param movedFromAbspath path moved from
* @param movedToAbspath path moved from
+ * @since 1.9
*/
public Status(String path, String url, NodeKind nodeKind, long revision,
long lastChangedRevision, long lastChangedDate,
- String lastCommitAuthor, Kind textStatus, Kind propStatus,
+ String lastCommitAuthor,
+ Kind nodeStatus, Kind textStatus, Kind propStatus,
+ Kind repositoryNodeStatus,
Kind repositoryTextStatus, Kind repositoryPropStatus,
- boolean locked, boolean copied, boolean isConflicted,
+ boolean locked, boolean copied, Depth depth,
+ boolean isConflicted,
boolean switched, boolean fileExternal, Lock localLock,
Lock reposLock, long reposLastCmtRevision,
long reposLastCmtDate, NodeKind reposKind,
@@ -224,13 +242,16 @@ public class Status implements java.io.S
this.lastChangedRevision = lastChangedRevision;
this.lastChangedDate = lastChangedDate;
this.lastCommitAuthor = lastCommitAuthor;
+ this.nodeStatus = nodeStatus;
this.textStatus = textStatus;
this.propStatus = propStatus;
+ this.repositoryNodeStatus = repositoryNodeStatus;
+ this.repositoryTextStatus = repositoryTextStatus;
+ this.repositoryPropStatus = repositoryPropStatus;
this.locked = locked;
this.copied = copied;
+ this.depth = depth;
this.isConflicted = isConflicted;
- this.repositoryTextStatus = repositoryTextStatus;
- this.repositoryPropStatus = repositoryPropStatus;
this.switched = switched;
this.fileExternal = fileExternal;
this.localLock = localLock;
@@ -245,6 +266,64 @@ public class Status implements java.io.S
}
/**
+ * this constructor should only called from JNI code
+ * @param path the file system path of item
+ * @param url the url of the item
+ * @param nodeKind kind of item (directory, file or unknown
+ * @param revision the revision number of the base
+ * @param lastChangedRevision the last revision this item was changed
+ * @param lastChangedDate the last date this item was changed
+ * @param lastCommitAuthor the author of the last change
+ * @param textStatus the file or directory status (See
+ * StatusKind)
+ * @param propStatus the property status (See StatusKind)
+ * @param repositoryTextStatus the file or directory status of the base
+ * @param repositoryPropStatus the property status of the base
+ * @param locked if the item is locked (running or aborted
+ * operation)
+ * @param copied if the item is copy
+ * @param isConflicted if the item is part of a conflict
+ * @param switched flag if the node has been switched in the
+ * path
+ * @param fileExternal flag if the node is a file external
+ * @param localLock the current lock
+ * @param reposLock the lock as stored in the repository if
+ * any
+ * @param reposLastCmtRevision the youngest revision, if out of date
+ * @param reposLastCmtDate the last commit date, if out of date
+ * @param reposKind the kind of the youngest revision, if
+ * out of date
+ * @param reposLastCmtAuthor the author of the last commit, if out of
+ * date
+ * @param changelist the changelist the item is a member of
+ * @param movedFromAbspath path moved from
+ * @param movedToAbspath path moved from
+ * @deprecated
+ */
+ @Deprecated
+ public Status(String path, String url, NodeKind nodeKind, long revision,
+ long lastChangedRevision, long lastChangedDate,
+ String lastCommitAuthor, Kind textStatus, Kind propStatus,
+ Kind repositoryTextStatus, Kind repositoryPropStatus,
+ boolean locked, boolean copied, boolean isConflicted,
+ boolean switched, boolean fileExternal, Lock localLock,
+ Lock reposLock, long reposLastCmtRevision,
+ long reposLastCmtDate, NodeKind reposKind,
+ String reposLastCmtAuthor, String changelist,
+ String movedFromAbspath, String movedToAbspath)
+ {
+ this(path, url, nodeKind, revision,
+ lastChangedRevision, lastChangedDate, lastCommitAuthor,
+ Kind.none, textStatus, propStatus,
+ Kind.none, repositoryTextStatus, repositoryPropStatus,
+ locked, copied, Depth.unknown, isConflicted,
+ switched, fileExternal, localLock, reposLock,
+ reposLastCmtRevision, reposLastCmtDate, reposKind,
+ reposLastCmtAuthor, changelist,
+ movedFromAbspath, movedToAbspath);
+ }
+
+ /**
* Returns the file system path of the item
* @return path of status entry
*/
@@ -301,25 +380,64 @@ public class Status implements java.io.S
}
/**
- * Returns the status of the item (See StatusKind)
+ * Returns the status of the node.
+ * @since 1.9
+ */
+ public Kind getNodeStatus()
+ {
+ return nodeStatus;
+ }
+
+ /**
+ * Returns the status of the node as text.
+ * @since 1.9
+ */
+ public String getNodeStatusDescription()
+ {
+ return nodeStatus.toString();
+ }
+
+ /**
+ * Returns the real status of the item's contents.
+ * @since 1.9
+ */
+ public Kind getRawTextStatus()
+ {
+ return textStatus;
+ }
+
+ /**
+ * Returns the real status of the item's contents as a string.
+ * @since 1.9
+ */
+ public String getRawTextStatusDescription()
+ {
+ return textStatus.toString();
+ }
+
+ /**
+ * Returns the adjusted status of the item's contents, as
+ * compatible with JavaHL 1.8 and older verions.
* @return file status property enum of the "textual" component.
*/
public Kind getTextStatus()
{
- return textStatus;
+ if (nodeStatus == Kind.modified || nodeStatus == Kind.conflicted)
+ return textStatus;
+ return nodeStatus;
}
/**
- * Returns the status of the item as text.
+ * Returns the adjusted status of the item's contents as text.
* @return english text
*/
public String getTextStatusDescription()
{
- return textStatus.toString();
+ return getTextStatus().toString();
}
/**
- * Returns the status of the properties (See Status Kind)
+ * Returns the status of the properties.
* @return file status property enum of the "property" component.
*/
public Kind getPropStatus()
@@ -337,17 +455,39 @@ public class Status implements java.io.S
}
/**
- * Returns the status of the item in the repository (See StatusKind)
+ * Returns the status of the node in the repository.
+ * @since 1.9
+ */
+ public Kind getRepositoryNodeStatus()
+ {
+ return repositoryNodeStatus;
+ }
+
+ /**
+ * Returns the real status of the item's contents in the repository.
+ * @since 1.9
+ */
+ public Kind getRawRepositoryTextStatus()
+ {
+ return repositoryTextStatus;
+ }
+
+ /**
+ * Returns the adjusted status of the item's contents in the
+ * repository, as compatible with JavaHL 1.8 and older verions.
* @return file status property enum of the "textual" component in the
* repository.
*/
public Kind getRepositoryTextStatus()
{
- return repositoryTextStatus;
+ if (repositoryNodeStatus == Kind.modified
+ || repositoryNodeStatus == Kind.conflicted)
+ return repositoryTextStatus;
+ return repositoryNodeStatus;
}
/**
- * Returns test status of the properties in the repository (See StatusKind)
+ * Returns test status of the properties in the repository.
* @return file status property enum of the "property" component im the
* repository.
*/
@@ -440,7 +580,7 @@ public class Status implements java.io.S
*/
public boolean isManaged()
{
- Kind status = getTextStatus();
+ Kind status = getNodeStatus();
return (status != Status.Kind.unversioned &&
status != Status.Kind.none &&
status != Status.Kind.ignored);
@@ -452,7 +592,7 @@ public class Status implements java.io.S
*/
public boolean hasRemote()
{
- return (isManaged() && getTextStatus() != Status.Kind.added);
+ return (isManaged() && !isAdded());
}
/**
@@ -461,7 +601,7 @@ public class Status implements java.io.S
*/
public boolean isAdded()
{
- return getTextStatus() == Status.Kind.added;
+ return getNodeStatus() == Status.Kind.added;
}
/**
@@ -470,7 +610,7 @@ public class Status implements java.io.S
*/
public boolean isDeleted()
{
- return getTextStatus() == Status.Kind.deleted;
+ return getNodeStatus() == Status.Kind.deleted;
}
/**
@@ -479,7 +619,7 @@ public class Status implements java.io.S
*/
public boolean isMerged()
{
- return getTextStatus() == Status.Kind.merged;
+ return getNodeStatus() == Status.Kind.merged;
}
/**
@@ -489,7 +629,7 @@ public class Status implements java.io.S
*/
public boolean isIgnored()
{
- return getTextStatus() == Status.Kind.ignored;
+ return getNodeStatus() == Status.Kind.ignored;
}
/**
@@ -601,6 +741,15 @@ public class Status implements java.io.S
}
/**
+ * Returns the inherent depth of the node, as recorded in the working copy.
+ * @since 1.9
+ */
+ public Depth getDepth()
+ {
+ return depth;
+ }
+
+ /**
* Converts microseconds since the epoch to a Date object.
*
* @param micros Microseconds since the epoch.
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java Thu Mar 13 15:27:51 2014
@@ -84,7 +84,7 @@ public class ConflictResult
private String mergedPath;
/**
- * Create a new conflict result instace.
+ * Create a new conflict result instance.
*/
public ConflictResult(int choice, String mergedPath)
{
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java Thu Mar 13 15:27:51 2014
@@ -138,7 +138,7 @@ public class PropertyData
}
/**
- * this contructor is used when building a thin wrapper around other
+ * this constructor is used when building a thin wrapper around other
* property retrieval methods
* @param p the path of the item owning this property
* @param n the name of the property
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java Thu Mar 13 15:27:51 2014
@@ -38,7 +38,7 @@ public class SVNAdmin
private org.apache.subversion.javahl.SVNRepos aSVNAdmin;
/**
- * Standard empty contructor, builds just the native peer.
+ * Standard empty constructor, builds just the native peer.
*/
public SVNAdmin()
{
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Thu Mar 13 15:27:51 2014
@@ -47,7 +47,7 @@ public class SVNClient implements SVNCli
private org.apache.subversion.javahl.SVNClient aSVNClient;
/**
- * Standard empty contructor, builds just the native peer.
+ * Standard empty constructor, builds just the native peer.
*/
public SVNClient()
{
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java Thu Mar 13 15:27:51 2014
@@ -1330,9 +1330,9 @@ public interface SVNClientInterface
* #diffSummarize(String, Revision, String, Revision, int,
* boolean, DiffSummaryReceiver)}, using <code>path</code> for
* both of that method's targets.
- * @param startRevision Beginning of range for comparsion of
+ * @param startRevision Beginning of range for comparison of
* <code>target</code>.
- * @param endRevision End of range for comparsion of
+ * @param endRevision End of range for comparison of
* <code>target</code>.
* @param depth how deep to recurse.
* @param changelists if non-null, filter paths using changelists
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Thu Mar 13 15:27:51 2014
@@ -304,6 +304,8 @@ public class BasicTests extends SVNTests
OneTest thisTest = new OneTest();
// check the status of the working copy
+ thisTest.getWc().setItemDepth("", Depth.infinity);
+ thisTest.getWc().setItemDepth("iota", Depth.unknown);
thisTest.checkStatus();
// Test status of non-existent file
@@ -314,7 +316,6 @@ public class BasicTests extends SVNTests
false, false, null, statusCallback);
if (statusCallback.getStatusArray().length > 0)
fail("File foo.c should not return a status.");
-
}
/**
@@ -1829,7 +1830,7 @@ public class BasicTests extends SVNTests
// check the status of the working copy
thisTest.checkStatus();
- // confirm that the file are realy deleted
+ // confirm that the file are really deleted
assertFalse("failed to remove text modified file",
new File(thisTest.getWorkingCopy(), "A/D/G/rho").exists());
assertFalse("failed to remove prop modified file",
@@ -1857,7 +1858,7 @@ public class BasicTests extends SVNTests
try
{
- // delete non-existant file foo
+ // delete non-existent file foo
Set<String> paths = new HashSet<String>(1);
paths.add(file.getAbsolutePath());
client.remove(paths, true, false, null, null, null);
@@ -3040,7 +3041,7 @@ public class BasicTests extends SVNTests
thisTest.getUrl().toString(), diffOutput.getPath(),
Depth.infinity, null, true, true, false, false);
- fail("This test should fail becaus the relativeToDir parameter " +
+ fail("This test should fail because the relativeToDir parameter " +
"does not work with URLs");
}
catch (Exception ignored)
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java Thu Mar 13 15:27:51 2014
@@ -128,6 +128,16 @@ public class WC extends TestCase
}
/**
+ * Set the depth of the item at a path
+ * @param path the path, where the status is set
+ * @param depth the new depth
+ */
+ public void setItemDepth(String path, Depth depth)
+ {
+ items.get(path).depth = depth;
+ }
+
+ /**
* Set the revision number of the item at a path
* @param path the path, where the revision number is set
* @param revision the new revision number
@@ -463,6 +473,9 @@ public class WC extends TestCase
item.isSwitched, status.isSwitched());
assertEquals("wrong prop status in working copy: " + path,
item.propStatus, status.getPropStatus());
+ if (item.depth != null)
+ assertEquals("wrong ambient depth in working copy: " + path,
+ item.depth, status.getDepth());
if (item.myContent != null)
{
assertEquals("state says file, working copy not: " + path,
@@ -561,6 +574,11 @@ public class WC extends TestCase
Status.Kind propStatus = Status.Kind.none;
/**
+ * the ambient depth of the item.
+ */
+ Depth depth = null;
+
+ /**
* the expected revision number. -1 means do not check.
*/
long workingCopyRev = -1;
@@ -633,6 +651,7 @@ public class WC extends TestCase
myContent = source.myContent;
textStatus = source.textStatus;
propStatus = source.propStatus;
+ depth = source.depth;
owner.items.put(myPath, this);
}
Modified: subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1577198&r1=1577197&r2=1577198&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Thu Mar 13 15:27:51 2014
@@ -213,7 +213,16 @@ public class BasicTests extends SVNTests
Status s = client.singleStatus(fileToSVNPath(fileC, false), false);
if (s != null)
- fail("File foo.c should not return a status.");
+ {
+ if (s.hasTreeConflict()
+ || s.getTextStatus() != Status.Kind.none
+ || s.getPropStatus() != Status.Kind.none
+ || s.getRepositoryTextStatus() != Status.Kind.none
+ || s.getRepositoryPropStatus() != Status.Kind.none)
+ {
+ fail("File foo.c should not return a status.");
+ }
+ }
}
@@ -1630,7 +1639,7 @@ public class BasicTests extends SVNTests
// check the status of the working copy
thisTest.checkStatus();
- // confirm that the file are realy deleted
+ // confirm that the file are really deleted
assertFalse("failed to remove text modified file",
new File(thisTest.getWorkingCopy(), "A/D/G/rho").exists());
assertFalse("failed to remove prop modified file",
@@ -1656,7 +1665,7 @@ public class BasicTests extends SVNTests
try
{
- // delete non-existant file foo
+ // delete non-existent file foo
client.remove(new String[] {file.getAbsolutePath()}, null, true);
fail("missing exception");
}
@@ -2644,7 +2653,7 @@ public class BasicTests extends SVNTests
thisTest.getUrl(), diffOutput.getPath(),
Depth.infinity, null, true, true, false);
- fail("This test should fail becaus the relativeToDir parameter " +
+ fail("This test should fail because the relativeToDir parameter " +
"does not work with URLs");
}
catch (Exception ignored)