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/02/12 12:45:01 UTC
svn commit: r1567602 - in /subversion/trunk/subversion/bindings/javahl:
native/ src/org/apache/subversion/javahl/
Author: brane
Date: Wed Feb 12 11:45:01 2014
New Revision: 1567602
URL: http://svn.apache.org/r1567602
Log:
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.
Modified:
subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
subversion/trunk/subversion/bindings/javahl/native/SVNClient.h
subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp?rev=1567602&r1=1567601&r2=1567602&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp Wed Feb 12 11:45:01 2014
@@ -656,7 +656,7 @@ void SVNClient::merge(const char *path1,
const char *path2, Revision &revision2,
const char *localPath, bool forceDelete, svn_depth_t depth,
bool ignoreMergeinfo, bool diffIgnoreAncestry,
- bool dryRun, bool recordOnly)
+ bool dryRun, bool allowMixedRev, bool recordOnly)
{
SVN::Pool subPool(pool);
SVN_JNI_NULL_PTR_EX(path1, "path1", );
@@ -681,14 +681,15 @@ void SVNClient::merge(const char *path1,
depth,
ignoreMergeinfo, diffIgnoreAncestry,
forceDelete, recordOnly, dryRun,
- TRUE, NULL, ctx, subPool.getPool()), );
+ allowMixedRev, NULL, ctx,
+ subPool.getPool()), );
}
void SVNClient::merge(const char *path, Revision &pegRevision,
std::vector<RevisionRange> *rangesToMerge,
const char *localPath, bool forceDelete, svn_depth_t depth,
bool ignoreMergeinfo, bool diffIgnoreAncestry,
- bool dryRun, bool recordOnly)
+ bool dryRun, bool allowMixedRev, bool recordOnly)
{
SVN::Pool subPool(pool);
SVN_JNI_NULL_PTR_EX(path, "path", );
@@ -716,7 +717,7 @@ void SVNClient::merge(const char *path,
depth,
ignoreMergeinfo, diffIgnoreAncestry,
forceDelete, recordOnly,
- dryRun, TRUE, NULL, ctx,
+ dryRun, allowMixedRev, NULL, ctx,
subPool.getPool()), );
}
Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNClient.h?rev=1567602&r1=1567601&r2=1567602&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNClient.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNClient.h Wed Feb 12 11:45:01 2014
@@ -105,12 +105,12 @@ class SVNClient :public SVNBase
const char *path2, Revision &revision2,
const char *localPath, bool forceDelete, svn_depth_t depth,
bool ignoreMergeinfo, bool diffIgnoreAncestry,
- bool dryRun, bool recordOnly);
+ bool dryRun, bool allowMixedRev, bool recordOnly);
void merge(const char *path, Revision &pegRevision,
std::vector<RevisionRange> *rangesToMerge,
const char *localPath, bool forceDelete, svn_depth_t depth,
bool ignoreMergeinfo, bool diffIgnoreAncestry,
- bool dryRun, bool recordOnly);
+ bool dryRun, bool allowMixedRev, bool recordOnly);
void mergeReintegrate(const char *path, Revision &pegRevision,
const char *localPath, bool dryRun);
void doImport(const char *path, const char *url, CommitMessage *message,
Modified: subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp?rev=1567602&r1=1567601&r2=1567602&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp Wed Feb 12 11:45:01 2014
@@ -814,11 +814,11 @@ Java_org_apache_subversion_javahl_SVNCli
}
JNIEXPORT void JNICALL
-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_2ZZZZ
+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_2ZZZZZ
(JNIEnv *env, jobject jthis, jstring jpath1, jobject jrevision1,
jstring jpath2, jobject jrevision2, jstring jlocalPath, jboolean jforceDelete,
jobject jdepth, jboolean jignoreMergeinfo, jboolean jdiffIgnoreAncestry,
- jboolean jdryRun, jboolean jrecordOnly)
+ jboolean jdryRun, jboolean jallowMixedRev, jboolean jrecordOnly)
{
JNIEntry(SVNClient, merge);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -853,15 +853,16 @@ Java_org_apache_subversion_javahl_SVNCli
jignoreMergeinfo ? true:false,
jdiffIgnoreAncestry ? true:false,
jdryRun ? true:false,
+ jallowMixedRev ? true:false,
jrecordOnly ? true:false);
}
JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_merge__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_util_List_2Ljava_lang_String_2ZLorg_apache_subversion_javahl_types_Depth_2ZZZZ
+Java_org_apache_subversion_javahl_SVNClient_merge__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_util_List_2Ljava_lang_String_2ZLorg_apache_subversion_javahl_types_Depth_2ZZZZZ
(JNIEnv *env, jobject jthis, jstring jpath, jobject jpegRevision,
jobject jranges, jstring jlocalPath, jboolean jforceDelete, jobject jdepth,
jboolean jignoreMergeinfo, jboolean jdiffIgnoreAncestry,
- jboolean jdryRun, jboolean jrecordOnly)
+ jboolean jdryRun, jboolean jallowMixedRev, jboolean jrecordOnly)
{
JNIEntry(SVNClient, merge);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -912,6 +913,7 @@ Java_org_apache_subversion_javahl_SVNCli
jignoreMergeinfo ? true:false,
jdiffIgnoreAncestry ? true:false,
jdryRun ? true:false,
+ jallowMixedRev ? true:false,
jrecordOnly ? true:false);
}
Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=1567602&r1=1567601&r2=1567602&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Wed Feb 12 11:45:01 2014
@@ -544,6 +544,33 @@ public interface ISVNClient
* @param ignoreMergeinfo ignore merge history, treat sources as unrelated
* @param diffIgnoreAncestry always treat source files as related
* @param dryRun do not change anything
+ * @param allowMixedRev allow merging into a mixed-revision working copy
+ * @param recordOnly record mergeinfo but do not run merge
+ * @throws ClientException
+ * @since 1.9
+ */
+ void merge(String path1, Revision revision1, String path2,
+ Revision revision2, String localPath, boolean force, Depth depth,
+ boolean ignoreMergeinfo, boolean diffIgnoreAncestry,
+ boolean dryRun, boolean allowMixedRev, boolean recordOnly)
+ throws ClientException;
+
+ /**
+ * Merge changes from two paths into a new local path.
+ * <p>
+ * <b>Note:</b> Behaves like the 1.9 version with allowMixedRev
+ * always set to <code>true</code>.
+ *
+ * @param path1 first path or url
+ * @param revision1 first revision
+ * @param path2 second path or url
+ * @param revision2 second revision
+ * @param localPath target local path
+ * @param force overwrite local changes
+ * @param depth how deep to traverse into subdirectories
+ * @param ignoreMergeinfo ignore merge history, treat sources as unrelated
+ * @param diffIgnoreAncestry always treat source files as related
+ * @param dryRun do not change anything
* @param recordOnly record mergeinfo but do not run merge
* @throws ClientException
* @since 1.8
@@ -589,6 +616,33 @@ public interface ISVNClient
* @param ignoreMergeinfo ignore merge history, treat sources as unrelated
* @param diffIgnoreAncestry always treat source files as related
* @param dryRun do not change anything
+ * @param allowMixedRev allow merging into a mixed-revision working copy
+ * @param recordOnly record mergeinfo but do not run merge
+ * @throws ClientException
+ * @since 1.9
+ */
+ void merge(String path, Revision pegRevision, List<RevisionRange> revisions,
+ String localPath, boolean force, Depth depth,
+ boolean ignoreMergeinfo, boolean diffIgnoreAncestry,
+ boolean dryRun, boolean allowMixedRev, boolean recordOnly)
+ throws ClientException;
+
+ /**
+ * Merge set of revisions into a new local path.
+ * <p>
+ * <b>Note:</b> Behaves like the 1.9 version with allowMixedRev
+ * always set to <code>true</code>.
+ *
+ * @param path path or url
+ * @param pegRevision revision to interpret path
+ * @param revisions revisions to merge; may be null, indicating that
+ * the optimal range should be determined automatcially
+ * @param localPath target local path
+ * @param force overwrite local changes
+ * @param depth how deep to traverse into subdirectories
+ * @param ignoreMergeinfo ignore merge history, treat sources as unrelated
+ * @param diffIgnoreAncestry always treat source files as related
+ * @param dryRun do not change anything
* @param recordOnly record mergeinfo but do not run merge
* @throws ClientException
* @since 1.8
Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1567602&r1=1567601&r2=1567602&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Wed Feb 12 11:45:01 2014
@@ -296,11 +296,24 @@ public class SVNClient implements ISVNCl
public native void merge(String path1, Revision revision1, String path2,
Revision revision2, String localPath,
boolean force, Depth depth,
- boolean ignoreMergeinfo, boolean diffIgnoreAncestry,
- boolean dryRun, boolean recordOnly)
+ boolean ignoreMergeinfo,
+ boolean diffIgnoreAncestry,
+ boolean dryRun, boolean allowMixedRev,
+ boolean recordOnly)
throws ClientException;
public void merge(String path1, Revision revision1, String path2,
+ Revision revision2, String localPath,
+ boolean force, Depth depth,
+ boolean ignoreMergeinfo, boolean diffIgnoreAncestry,
+ boolean dryRun, boolean recordOnly)
+ throws ClientException
+ {
+ merge(path1, revision1, path2, revision2, localPath, force, depth,
+ ignoreMergeinfo, diffIgnoreAncestry, dryRun, true, recordOnly);
+ }
+
+ public void merge(String path1, Revision revision1, String path2,
Revision revision2, String localPath,
boolean force, Depth depth,
boolean ignoreAncestry, boolean dryRun,
@@ -314,12 +327,25 @@ public class SVNClient implements ISVNCl
public native void merge(String path, Revision pegRevision,
List<RevisionRange> revisions, String localPath,
boolean force, Depth depth,
- boolean ignoreMergeinfo, boolean diffIgnoreAncestry,
- boolean dryRun, boolean recordOnly)
+ boolean ignoreMergeinfo,
+ boolean diffIgnoreAncestry,
+ boolean dryRun, boolean allowMixedRev,
+ boolean recordOnly)
throws ClientException;
public void merge(String path, Revision pegRevision,
List<RevisionRange> revisions, String localPath,
+ boolean force, Depth depth,
+ boolean ignoreMergeinfo, boolean diffIgnoreAncestry,
+ boolean dryRun, boolean recordOnly)
+ throws ClientException
+ {
+ merge(path, pegRevision, revisions, localPath, force, depth,
+ ignoreMergeinfo, diffIgnoreAncestry, dryRun, true, recordOnly);
+ }
+
+ public void merge(String path, Revision pegRevision,
+ List<RevisionRange> revisions, String localPath,
boolean force, Depth depth, boolean ignoreAncestry,
boolean dryRun, boolean recordOnly)
throws ClientException