Details
-
Improvement
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
all
-
None
Description
We really need a flag on this method so we can allow users to see logs of commits made to the file before any copy has been done. I see this as essential, as users coming from CVS want to see their history come with them when they move a file. I was going to generate a patch and test it, but it's taking too long to setup an env to compile .. so here is a starting point. Index: native/SVNClient.cpp =================================================================== --- native/SVNClient.cpp (revision 8615) +++ native/SVNClient.cpp (working copy) @@ -368,7 +368,7 @@ m_prompter = prompter; } -jobjectArray SVNClient::logMessages(const char *path, Revision &revisionStart, Revision &revisionEnd) +jobjectArray SVNClient::logMessages(const char *path, Revision &revisionStart, Revision &revisionEnd, bool stopOnCopy) { std::vector<jobject> logs; Pool pool; @@ -383,7 +383,7 @@ revisionStart.revision (), revisionEnd.revision (), 0, // not reverse by default - 1, // strict by default (not showing cp info) + stopOnCopy, // strict by default (not showing cp info) messageReceiver, &logs, ctx, pool.pool()); if(JNIUtil::isJavaExceptionThrown()) { Index: native/org_tigris_subversion_javahl_SVNClient.cpp =================================================================== --- native/org_tigris_subversion_javahl_SVNClient.cpp (revision 8615) +++ native/org_tigris_subversion_javahl_SVNClient.cpp (working copy) @@ -245,7 +245,7 @@ * Signature: (Ljava/lang/String;Lorg/tigris/subversion/javahl/Revision;Lorg/tigris/subversion/javahl/Revision;)[Lorg/tigris/subversion/javahl/LogMessage; */ JNIEXPORT jobjectArray JNICALL Java_org_tigris_subversion_javahl_SVNClient_logMessages - (JNIEnv* env, jobject jthis, jstring jpath, jobject jrevisionStart, jobject jrevisionEnd) + (JNIEnv* env, jobject jthis, jstring jpath, jobject jrevisionStart, jobject jrevisionEnd, jboolean jstopOnCopy) { JNIEntry(SVNClient, logMessages); SVNClient *cl = SVNClient::getCppObject(jthis); @@ -269,7 +269,7 @@ { return NULL; } - return cl->logMessages(path, revisionStart, revisionEnd); + return cl->logMessages(path, revisionStart, revisionEnd, jstopOnCopy ? true:false); } /* Index: native/SVNClient.h =================================================================== --- native/SVNClient.h (revision 8615) +++ native/SVNClient.h (working copy) @@ -65,7 +65,7 @@ void remove(Targets &targets, const char *message,bool force); void notification(Notify *notify); jlong checkout(const char *moduleName, const char *destPath, Revision &revision, bool recurse); - jobjectArray logMessages(const char *path, Revision &revisionStart, Revision &revisionEnd); + jobjectArray logMessages(const char *path, Revision &revisionStart, Revision &revisionEnd, bool stopOnCopy); void setPrompt(Prompter *prompter); void password(const char *password); void username(const char *username); Index: src/org/tigris/subversion/javahl/SVNClient.java =================================================================== --- src/org/tigris/subversion/javahl/SVNClient.java (revision 8615) +++ src/org/tigris/subversion/javahl/SVNClient.java (working copy) @@ -111,8 +111,9 @@ * @param path * @param revisionStart * @param revisionEnd + * @param stopOnCopy */ - public native LogMessage[] logMessages(String path, Revision revisionStart, Revision revisionEnd) throws ClientException; + public native LogMessage[] logMessages(String path, Revision revisionStart, Revision revisionEnd, boolean stopOnCopy) throws ClientException; /** * Executes a revision checkout. * @param moduleName name of the module to checkout.
Original issue reported by dbradby