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/26 23:01:45 UTC
svn commit: r1582083 - in
/subversion/branches/remote-only-status/subversion: bindings/javahl/native/
bindings/javahl/src/org/apache/subversion/javahl/
bindings/javahl/tests/org/apache/subversion/javahl/ svn/ tests/libsvn_client/
Author: brane
Date: Wed Mar 26 22:01:44 2014
New Revision: 1582083
URL: http://svn.apache.org/r1582083
Log:
On the remote-only-status branch: Replace all uses of svn_client_status5
in our code base, including JavaHL.
* subversion/svn/status-cmd.c
(svn_cl__status): Call svn_client_status6 instead of svn_client_status5.
* subversion/tests/libsvn_client/client-test.c
(test_funcs): Mark test_remote_only_status as work-in-progress.
[in subversion/bindings/javahl]
* src/org/apache/subversion/javahl/ISVNClient.java
(ISVNClient.status): Add new overload and deprecate existing method.
* src/org/apache/subversion/javahl/SVNClient.java
(ISVNClient.status): Update native declaration, implement deprecated method.
* native/SVNClient.h
(SVNClient::status): Add new parameters.
* native/SVNClient.cpp
(SVNClient::status): Update signature.
Call svn_client_status6 instead of svn_client_status5.
* native/org_apache_subversion_javahl_SVNClient.cpp
(Java_org_apache_subversion_javahl_SVNClient_status): Update signature
and call to SVNClient::status.
* tests/org/apache/subversion/javahl/BasicTests.java:
Update all uses of ISVNClient.status.
Modified:
subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.cpp
subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.h
subversion/branches/remote-only-status/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
subversion/branches/remote-only-status/subversion/svn/status-cmd.c
subversion/branches/remote-only-status/subversion/tests/libsvn_client/client-test.c
Modified: subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.cpp?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.cpp Wed Mar 26 22:01:44 2014
@@ -187,8 +187,9 @@ void SVNClient::list(const char *url, Re
void
SVNClient::status(const char *path, svn_depth_t depth,
- bool onServer, bool getAll, bool noIgnore,
- bool ignoreExternals, StringArray &changelists,
+ bool onServer, bool ignoreLocal, bool getAll,
+ bool noIgnore, bool ignoreExternals,
+ bool depthAsSticky, StringArray &changelists,
StatusCallback *callback)
{
SVN::Pool subPool(pool);
@@ -207,11 +208,10 @@ SVNClient::status(const char *path, svn_
rev.kind = svn_opt_revision_unspecified;
- SVN_JNI_ERR(svn_client_status5(&youngest, ctx, checkedPath.c_str(),
- &rev,
- depth,
- getAll, onServer, noIgnore, ignoreExternals,
- FALSE,
+ SVN_JNI_ERR(svn_client_status6(&youngest, ctx, checkedPath.c_str(),
+ &rev, depth,
+ getAll, onServer, ignoreLocal,
+ noIgnore, ignoreExternals, depthAsSticky,
changelists.array(subPool),
StatusCallback::callback, callback,
subPool.getPool()), );
Modified: subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.h
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.h?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.h (original)
+++ subversion/branches/remote-only-status/subversion/bindings/javahl/native/SVNClient.h Wed Mar 26 22:01:44 2014
@@ -169,9 +169,11 @@ class SVNClient :public SVNBase
StringArray &changelists);
void getChangelists(const char *path, StringArray *changelists,
svn_depth_t depth, ChangelistCallback *callback);
- void status(const char *path, svn_depth_t depth, bool onServer,
- bool getAll, bool noIgnore, bool ignoreExternals,
- StringArray &changelists, StatusCallback *callback);
+ void status(const char *path, svn_depth_t depth,
+ bool onServer, bool ignoreLocal, bool getAll,
+ bool noIgnore, bool ignoreExternals,
+ bool depthAsSticky, StringArray &changelists,
+ StatusCallback *callback);
void list(const char *url, Revision &revision, Revision &pegRevision,
svn_depth_t depth, int direntFields, bool fetchLocks,
ListCallback *callback);
Modified: subversion/branches/remote-only-status/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (original)
+++ subversion/branches/remote-only-status/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp Wed Mar 26 22:01:44 2014
@@ -184,8 +184,9 @@ Java_org_apache_subversion_javahl_SVNCli
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_status
(JNIEnv *env, jobject jthis, jstring jpath, jobject jdepth,
- jboolean jonServer, jboolean jgetAll, jboolean jnoIgnore,
- jboolean jignoreExternals, jobject jchangelists,
+ jboolean jonServer, jboolean jignoreLocal, jboolean jgetAll,
+ jboolean jnoIgnore, jboolean jignoreExternals,
+ jboolean jdepthAsSticky, jobject jchangelists,
jobject jstatusCallback)
{
JNIEntry(SVNClient, status);
@@ -203,9 +204,9 @@ Java_org_apache_subversion_javahl_SVNCli
StatusCallback callback(jstatusCallback);
cl->status(path, EnumMapper::toDepth(jdepth),
- jonServer ? true:false,
- jgetAll ? true:false, jnoIgnore ? true:false,
- jignoreExternals ? true:false, changelists, &callback);
+ bool(jonServer), bool(jignoreLocal), bool(jgetAll),
+ bool(jnoIgnore), bool(jignoreExternals),
+ bool(jdepthAsSticky), changelists, &callback);
}
JNIEXPORT void JNICALL
Modified: subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Wed Mar 26 22:01:44 2014
@@ -79,16 +79,38 @@ public interface ISVNClient
public boolean isAdminDirectory(String name);
/**
- * List a directory or file of the working copy.
+ * Return the status of the working copy and maybe repository.
*
* @param path Path to explore.
* @param depth How deep to recurse into subdirectories.
* @param onServer Request status information from server.
+ * @param ignoreLocal Ignore local modifications; only used when
+ * <code>onServer</code> is set.
* @param getAll get status for uninteresting (unchanged) files.
* @param noIgnore get status for normaly ignored files and directories.
* @param ignoreExternals if externals are ignored during status
+ * @param depthAsSticky When set, interpret <code>depth</code> as
+ * the ambient depth of the working copy.
* @param changelists changelists to filter by
+ * @since 1.9
+ */
+ void status(String path, Depth depth,
+ boolean onServer, boolean ignoreLocal,
+ boolean getAll, boolean noIgnore,
+ boolean ignoreExternals, boolean depthAsSticky,
+ Collection<String> changelists, StatusCallback callback)
+ throws ClientException;
+
+ /**
+ * Return information about the status of the working copy and
+ * maybe repository.
+ * <p>
+ * Behaves like the 1.9 version with
+ * <code>ignoreLocal = * false</code> and
+ * <code>depthAsSticky = false</code>.
+ * @deprecated
*/
+ @Deprecated
void status(String path, Depth depth, boolean onServer,
boolean getAll, boolean noIgnore, boolean ignoreExternals,
Collection<String> changelists, StatusCallback callback)
Modified: subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/remote-only-status/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Wed Mar 26 22:01:44 2014
@@ -121,13 +121,26 @@ public class SVNClient implements ISVNCl
@Deprecated
public native String getLastPath();
- public native void status(String path, Depth depth, boolean onServer,
+ public native void status(String path, Depth depth,
+ boolean onServer, boolean ignoreLocal,
boolean getAll, boolean noIgnore,
- boolean ignoreExternals,
+ boolean ignoreExternals, boolean depthAsSticky,
Collection<String> changelists,
StatusCallback callback)
throws ClientException;
+ @Deprecated
+ public void status(String path, Depth depth, boolean onServer,
+ boolean getAll, boolean noIgnore,
+ boolean ignoreExternals,
+ Collection<String> changelists,
+ StatusCallback callback)
+ throws ClientException
+ {
+ status(path, depth, onServer, false, getAll, noIgnore,
+ ignoreExternals, false, changelists, callback);
+ }
+
public native void list(String url, Revision revision,
Revision pegRevision, Depth depth, int direntFields,
boolean fetchLocks, ListCallback callback)
Modified: subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Wed Mar 26 22:01:44 2014
@@ -315,8 +315,9 @@ public class BasicTests extends SVNTests
File fileC = new File(thisTest.getWorkingCopy() + "/A", "foo.c");
MyStatusCallback statusCallback = new MyStatusCallback();
- client.status(fileToSVNPath(fileC, false), Depth.unknown, false, true,
- false, false, null, statusCallback);
+ client.status(fileToSVNPath(fileC, false), Depth.unknown,
+ false, false, true, false, false, false,
+ null, statusCallback);
final int statusCount = statusCallback.getStatusArray().length;
if (statusCount == 1)
@@ -401,7 +402,8 @@ public class BasicTests extends SVNTests
statusCallback = new MyStatusCallback();
client.status(thisTest.getWCPath() + "/A/D/G/rho", Depth.immediates,
- false, true, false, false, null, statusCallback);
+ false, false, true, false, false, false,
+ null, statusCallback);
status = statusCallback.getStatusArray()[0];
long rhoCommitDate = status.getLastChangedDate().getTime();
long rhoCommitRev = rev;
@@ -438,7 +440,8 @@ public class BasicTests extends SVNTests
+ "modification to tau");
statusCallback = new MyStatusCallback();
client.status(thisTest.getWCPath() + "/A/D/G/tau", Depth.immediates,
- false, true, false, false, null, statusCallback);
+ false, false, true, false, false, false,
+ null, statusCallback);
status = statusCallback.getStatusArray()[0];
long tauCommitDate = status.getLastChangedDate().getTime();
long tauCommitRev = rev;
@@ -467,7 +470,8 @@ public class BasicTests extends SVNTests
thisTest.getWc().addItem("A/B/I", null);
statusCallback = new MyStatusCallback();
client.status(thisTest.getWCPath() + "/A/B/I", Depth.immediates,
- false, true, false, false, null, statusCallback);
+ false, false, true, false, false, false,
+ null, statusCallback);
status = statusCallback.getStatusArray()[0];
long ICommitDate = status.getLastChangedDate().getTime();
long ICommitRev = rev;
@@ -502,7 +506,8 @@ public class BasicTests extends SVNTests
thisTest.getWc().addItem("A/D/H/nu", "This is the file 'nu'.");
statusCallback = new MyStatusCallback();
client.status(thisTest.getWCPath() + "/A/D/H/nu", Depth.immediates,
- false, true, false, false, null, statusCallback);
+ false, false, true, false, false, false,
+ null, statusCallback);
status = statusCallback.getStatusArray()[0];
long nuCommitDate = status.getLastChangedDate().getTime();
long nuCommitRev = rev;
@@ -519,7 +524,8 @@ public class BasicTests extends SVNTests
thisTest.getWc().setItemWorkingCopyRevision("A/B/F", rev);
statusCallback = new MyStatusCallback();
client.status(thisTest.getWCPath() + "/A/B/F", Depth.immediates,
- false, true, false, false, null, statusCallback);
+ false, false, true, false, false, false,
+ null, statusCallback);
status = statusCallback.getStatusArray()[0];
long FCommitDate = status.getLastChangedDate().getTime();
long FCommitRev = rev;
@@ -550,7 +556,8 @@ public class BasicTests extends SVNTests
"This is the replacement file 'chi'.");
statusCallback = new MyStatusCallback();
client.status(thisTest.getWCPath() + "/A/D/H/chi", Depth.immediates,
- false, true, false, false, null, statusCallback);
+ false, false, true, false, false, false,
+ null, statusCallback);
status = statusCallback.getStatusArray()[0];
long chiCommitDate = status.getLastChangedDate().getTime();
long chiCommitRev = rev;
@@ -601,7 +608,8 @@ public class BasicTests extends SVNTests
assertEquals("wrong revision number from commit", rev, expectedRev++);
statusCallback = new MyStatusCallback();
client.status(thisTest.getWCPath() + "/A/D/H/psi", Depth.immediates,
- false, true, false, false, null, statusCallback);
+ false, false, true, false, false, false,
+ null, statusCallback);
status = statusCallback.getStatusArray()[0];
long psiCommitDate = status.getLastChangedDate().getTime();
long psiCommitRev = rev;
@@ -1075,7 +1083,8 @@ public class BasicTests extends SVNTests
MyStatusCallback statusCallback = new MyStatusCallback();
String statusPath = fileToSVNPath(new File(thisTest.getWCPath() + "/A/B"), true);
- client.status(statusPath, Depth.infinity, false, false, false, true,
+ client.status(statusPath, Depth.infinity,
+ false, false, false, false, true, false,
null, statusCallback);
Status[] statusList = statusCallback.getStatusArray();
assertEquals(statusPath + "/F/alpha",
@@ -2345,8 +2354,9 @@ public class BasicTests extends SVNTests
assertTrue(changelists.equals(cl));
// Does status report this changelist?
MyStatusCallback statusCallback = new MyStatusCallback();
- client.status(path, Depth.immediates, false, false, false, false,
- null, statusCallback);
+ client.status(path, Depth.immediates,
+ false, false, false, false, false, false,
+ null, statusCallback);
Status[] status = statusCallback.getStatusArray();
assertEquals(status[0].getChangelist(), changelistName);
Modified: subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java (original)
+++ subversion/branches/remote-only-status/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java Wed Mar 26 22:01:44 2014
@@ -793,7 +793,8 @@ class SVNTests extends TestCase
{
MyStatusCallback statusCallback = new MyStatusCallback();
client.status(workingCopy.getAbsolutePath(), Depth.unknown,
- checkRepos, true, true, false, null, statusCallback);
+ checkRepos, false, true, true, false, false,
+ null, statusCallback);
wc.check(statusCallback.getStatusArray(),
workingCopy.getAbsolutePath(), checkRepos);
}
Modified: subversion/branches/remote-only-status/subversion/svn/status-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/svn/status-cmd.c?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/svn/status-cmd.c (original)
+++ subversion/branches/remote-only-status/subversion/svn/status-cmd.c Wed Mar 26 22:01:44 2014
@@ -345,10 +345,11 @@ svn_cl__status(apr_getopt_t *os,
/* Retrieve a hash of status structures with the information
requested by the user. */
- SVN_ERR(svn_cl__try(svn_client_status5(&repos_rev, ctx, target, &rev,
+ SVN_ERR(svn_cl__try(svn_client_status6(&repos_rev, ctx, target, &rev,
opt_state->depth,
opt_state->verbose,
opt_state->update,
+ FALSE /* ignore_local_mods */,
opt_state->no_ignore,
opt_state->ignore_externals,
FALSE /* depth_as_sticky */,
Modified: subversion/branches/remote-only-status/subversion/tests/libsvn_client/client-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/tests/libsvn_client/client-test.c?rev=1582083&r1=1582082&r2=1582083&view=diff
==============================================================================
--- subversion/branches/remote-only-status/subversion/tests/libsvn_client/client-test.c (original)
+++ subversion/branches/remote-only-status/subversion/tests/libsvn_client/client-test.c Wed Mar 26 22:01:44 2014
@@ -997,8 +997,9 @@ static struct svn_test_descriptor_t test
SVN_TEST_OPTS_PASS(test_youngest_common_ancestor, "test youngest_common_ancestor"),
SVN_TEST_OPTS_PASS(test_suggest_mergesources,
"test svn_client_suggest_merge_sources"),
- SVN_TEST_OPTS_XFAIL(test_remote_only_status,
- "test svn_client_status6 with ignore_local_mods"),
+ SVN_TEST_OPTS_WIMP(test_remote_only_status,
+ "test svn_client_status6 with ignore_local_mods",
+ "status editor does not ignore local mods yet"),
SVN_TEST_NULL
};