47
47
#include "InfoCallback.h"
48
48
#include "StatusCallback.h"
49
49
#include "ListCallback.h"
50
#include "ImportFilterCallback.h"
50
51
#include "ChangelistCallback.h"
51
52
#include "StringArray.h"
52
53
#include "RevpropTable.h"
54
#include "VersionExtended.h"
55
#include "DiffOptions.h"
53
56
#include "svn_version.h"
54
57
#include "svn_private_config.h"
55
58
#include "version.h"
94
JNIEXPORT jobject JNICALL
95
Java_org_apache_subversion_javahl_SVNClient_getVersionExtended(
96
JNIEnv *env, jobject jthis, jboolean verbose)
98
JNIEntry(SVNClient, getVersionExtended);
99
SVNClient *cl = SVNClient::getCppObject(jthis);
102
JNIUtil::throwError(_("bad C++ this"));
105
return cl->getVersionExtended(!!verbose);
91
108
JNIEXPORT jstring JNICALL
92
109
Java_org_apache_subversion_javahl_SVNClient_getAdminDirectoryName
93
110
(JNIEnv *env, jobject jthis)
161
178
ListCallback callback(jcallback);
162
179
cl->list(url, revision, pegRevision, EnumMapper::toDepth(jdepth),
163
(int)jdirentFields, jfetchLocks ? true : false, &callback);
180
static_cast<int>(jdirentFields), jfetchLocks ? true : false,
166
184
JNIEXPORT void JNICALL
305
323
cl->logMessages(path, pegRevision, revisionRanges,
306
324
jstopOnCopy ? true: false, jdisoverPaths ? true : false,
307
325
jincludeMergedRevisions ? true : false,
308
revProps, jlimit, &callback);
326
revProps, static_cast<long>(jlimit), &callback);
311
329
JNIEXPORT jlong JNICALL
401
419
JNIEXPORT void JNICALL
402
420
Java_org_apache_subversion_javahl_SVNClient_add
403
421
(JNIEnv *env, jobject jthis, jstring jpath, jobject jdepth,
404
jboolean jforce, jboolean jnoIgnore, jboolean jaddParents)
422
jboolean jforce, jboolean jnoIgnore, jboolean jnoAutoProps,
423
jboolean jaddParents)
406
425
JNIEntry(SVNClient, add);
407
426
SVNClient *cl = SVNClient::getCppObject(jthis);
414
433
if (JNIUtil::isExceptionThrown())
417
cl->add(path, EnumMapper::toDepth(jdepth), jforce ? true : false,
418
jnoIgnore ? true : false, jaddParents ? true : false);
436
cl->add(path, EnumMapper::toDepth(jdepth),
437
jforce ? true : false,
438
jnoIgnore ? true : false,
439
jnoAutoProps ? true : false,
440
jaddParents ? true : false);
421
443
JNIEXPORT jlongArray JNICALL
531
553
Java_org_apache_subversion_javahl_SVNClient_move
532
554
(JNIEnv *env, jobject jthis, jobject jsrcPaths, jstring jdestPath,
533
555
jboolean jforce, jboolean jmoveAsChild, jboolean jmakeParents,
534
jobject jrevpropTable, jobject jmessage, jobject jcallback)
556
jboolean jmetadataOnly, jboolean jallowMixRev, jobject jrevpropTable,
557
jobject jmessage, jobject jcallback)
536
559
JNIEntry(SVNClient, move);
561
584
CommitCallback callback(jcallback);
562
585
cl->move(srcPaths, destPath, &message, jforce ? true : false,
563
586
jmoveAsChild ? true : false, jmakeParents ? true : false,
587
jmetadataOnly ? true: false, jallowMixRev ? true : false,
564
588
revprops, jcallback ? &callback : NULL);
711
735
JNIEXPORT void JNICALL
712
736
Java_org_apache_subversion_javahl_SVNClient_doImport
713
737
(JNIEnv *env, jobject jthis, jstring jpath, jstring jurl, jobject jdepth,
714
jboolean jnoIgnore, jboolean jignoreUnknownNodeTypes, jobject jrevpropTable,
715
jobject jmessage, jobject jcallback)
738
jboolean jnoIgnore, jboolean jnoAutoProps,
739
jboolean jignoreUnknownNodeTypes, jobject jrevpropTable,
740
jobject jimportFilterCallback, jobject jmessage, jobject jcommitCallback)
717
742
JNIEntry(SVNClient, doImport);
718
743
SVNClient *cl = SVNClient::getCppObject(jthis);
737
762
if (JNIUtil::isExceptionThrown())
740
CommitCallback callback(jcallback);
765
ImportFilterCallback importFilterCallback(jimportFilterCallback);
766
CommitCallback commitCallback(jcommitCallback);
741
768
cl->doImport(path, url, &message, EnumMapper::toDepth(jdepth),
742
jnoIgnore ? true : false,
769
jnoIgnore ? true : false, jnoAutoProps ? true : false,
743
770
jignoreUnknownNodeTypes ? true : false, revprops,
744
jcallback ? &callback : NULL);
771
jimportFilterCallback ? &importFilterCallback : NULL,
772
jcommitCallback ? &commitCallback : NULL);
747
775
JNIEXPORT jobject JNICALL
770
798
JNIEXPORT void JNICALL
771
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_2ZZZ
799
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
772
800
(JNIEnv *env, jobject jthis, jstring jpath1, jobject jrevision1,
773
jstring jpath2, jobject jrevision2, jstring jlocalPath, jboolean jforce,
774
jobject jdepth, jboolean jignoreAncestry, jboolean jdryRun,
775
jboolean jrecordOnly)
801
jstring jpath2, jobject jrevision2, jstring jlocalPath, jboolean jforceDelete,
802
jobject jdepth, jboolean jignoreMergeinfo, jboolean jdiffIgnoreAncestry,
803
jboolean jdryRun, jboolean jrecordOnly)
777
805
JNIEntry(SVNClient, merge);
778
806
SVNClient *cl = SVNClient::getCppObject(jthis);
804
832
cl->merge(path1, revision1, path2, revision2, localPath,
805
jforce ? true:false, EnumMapper::toDepth(jdepth),
806
jignoreAncestry ? true:false, jdryRun ? true:false,
833
jforceDelete ? true:false,
834
EnumMapper::toDepth(jdepth),
835
jignoreMergeinfo ? true:false,
836
jdiffIgnoreAncestry ? true:false,
837
jdryRun ? true:false,
807
838
jrecordOnly ? true:false);
810
841
JNIEXPORT void JNICALL
811
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_2ZZZ
842
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
812
843
(JNIEnv *env, jobject jthis, jstring jpath, jobject jpegRevision,
813
jobject jranges, jstring jlocalPath, jboolean jforce, jobject jdepth,
814
jboolean jignoreAncestry, jboolean jdryRun, jboolean jrecordOnly)
844
jobject jranges, jstring jlocalPath, jboolean jforceDelete, jobject jdepth,
845
jboolean jignoreMergeinfo, jboolean jdiffIgnoreAncestry,
846
jboolean jdryRun, jboolean jrecordOnly)
816
848
JNIEntry(SVNClient, merge);
817
849
SVNClient *cl = SVNClient::getCppObject(jthis);
833
865
if (JNIUtil::isExceptionThrown())
868
std::vector<RevisionRange> *revisionRanges = NULL;
869
std::vector<RevisionRange> realRevisionRanges;
836
870
// Build the revision range vector from the Java array.
837
Array ranges(jranges);
838
if (JNIUtil::isExceptionThrown())
841
std::vector<RevisionRange> revisionRanges;
842
std::vector<jobject> rangeVec = ranges.vector();
844
for (std::vector<jobject>::const_iterator it = rangeVec.begin();
845
it < rangeVec.end(); ++it)
847
RevisionRange revisionRange(*it);
873
Array ranges(jranges);
848
874
if (JNIUtil::isExceptionThrown())
851
revisionRanges.push_back(revisionRange);
877
std::vector<jobject> rangeVec = ranges.vector();
879
for (std::vector<jobject>::const_iterator it = rangeVec.begin();
880
it < rangeVec.end(); ++it)
882
RevisionRange revisionRange(*it);
883
if (JNIUtil::isExceptionThrown())
886
realRevisionRanges.push_back(revisionRange);
888
revisionRanges = &realRevisionRanges;
854
891
cl->merge(path, pegRevision, revisionRanges, localPath,
855
jforce ? true:false, EnumMapper::toDepth(jdepth),
856
jignoreAncestry ? true:false, jdryRun ? true:false,
892
jforceDelete ? true:false,
893
EnumMapper::toDepth(jdepth),
894
jignoreMergeinfo ? true:false,
895
jdiffIgnoreAncestry ? true:false,
896
jdryRun ? true:false,
857
897
jrecordOnly ? true:false);
886
926
jdryRun ? true:false);
889
JNIEXPORT void JNICALL
890
Java_org_apache_subversion_javahl_SVNClient_properties
929
static void SVNClient_properties
891
930
(JNIEnv *env, jobject jthis, jstring jpath, jobject jrevision,
892
931
jobject jpegRevision, jobject jdepth, jobject jchangelists,
893
jobject jproplistCallback)
932
jobject jproplistCallback, bool inherited)
895
JNIEntry(SVNClient, properties);
896
934
SVNClient *cl = SVNClient::getCppObject(jthis);
915
953
if (JNIUtil::isExceptionThrown())
918
ProplistCallback callback(jproplistCallback);
956
ProplistCallback callback(jproplistCallback, inherited);
919
957
cl->properties(path, revision, pegRevision, EnumMapper::toDepth(jdepth),
920
958
changelists, &callback);
923
961
JNIEXPORT void JNICALL
962
Java_org_apache_subversion_javahl_SVNClient_properties__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2Lorg_apache_subversion_javahl_callback_ProplistCallback_2
963
(JNIEnv *env, jobject jthis, jstring jpath, jobject jrevision,
964
jobject jpegRevision, jobject jdepth, jobject jchangelists,
965
jobject jproplistCallback)
967
JNIEntry(SVNClient, properties);
968
SVNClient_properties(env, jthis, jpath, jrevision, jpegRevision, jdepth,
969
jchangelists, jproplistCallback, false);
972
JNIEXPORT void JNICALL
973
Java_org_apache_subversion_javahl_SVNClient_properties__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2Lorg_apache_subversion_javahl_callback_InheritedProplistCallback_2
974
(JNIEnv *env, jobject jthis, jstring jpath, jobject jrevision,
975
jobject jpegRevision, jobject jdepth, jobject jchangelists,
976
jobject jproplistCallback)
978
JNIEntry(SVNClient, properties);
979
SVNClient_properties(env, jthis, jpath, jrevision, jpegRevision, jdepth,
980
jchangelists, jproplistCallback, true);
983
JNIEXPORT void JNICALL
924
984
Java_org_apache_subversion_javahl_SVNClient_propertySetRemote
925
985
(JNIEnv *env, jobject jthis, jstring jpath, jlong jbaseRev, jstring jname,
926
jbyteArray jvalue, jobject jmessage, jboolean jforce, jobject jrevpropTable,
986
jbyteArray jval, jobject jmessage, jboolean jforce, jobject jrevpropTable,
927
987
jobject jcallback)
929
989
JNIEntry(SVNClient, propertySet);
956
1016
CommitCallback callback(jcallback);
957
cl->propertySetRemote(path, jbaseRev, name, &message, value,
1017
cl->propertySetRemote(path, static_cast<svn_revnum_t>(jbaseRev),
1018
name, &message, value, jforce ? true : false,
959
1019
revprops, jcallback ? &callback : NULL);
962
1022
JNIEXPORT void JNICALL
963
1023
Java_org_apache_subversion_javahl_SVNClient_propertySetLocal
964
1024
(JNIEnv *env, jobject jthis, jobject jtargets, jstring jname,
965
jbyteArray jvalue, jobject jdepth, jobject jchangelists, jboolean jforce)
1025
jbyteArray jval, jobject jdepth, jobject jchangelists, jboolean jforce)
967
1027
JNIEntry(SVNClient, propertySet);
968
1028
SVNClient *cl = SVNClient::getCppObject(jthis);
1044
1104
JNIEXPORT void JNICALL
1045
1105
Java_org_apache_subversion_javahl_SVNClient_setRevProperty
1046
1106
(JNIEnv *env, jobject jthis, jstring jpath, jstring jname, jobject jrevision,
1047
jstring jvalue, jstring joriginalValue, jboolean jforce)
1107
jstring jval, jstring joriginalValue, jboolean jforce)
1049
1109
JNIEntry(SVNClient, setRevProperty);
1050
1110
SVNClient *cl = SVNClient::getCppObject(jthis);
1080
1140
JNIEXPORT jbyteArray JNICALL
1081
1141
Java_org_apache_subversion_javahl_SVNClient_propertyGet
1082
1142
(JNIEnv *env, jobject jthis, jstring jpath, jstring jname, jobject jrevision,
1083
jobject jpegRevision)
1143
jobject jpegRevision, jobject jchangelists)
1085
1145
JNIEntry(SVNClient, propertyGet);
1086
1146
SVNClient *cl = SVNClient::getCppObject(jthis);
1105
1165
if (JNIUtil::isExceptionThrown())
1108
return cl->propertyGet(path, name, revision, pegRevision);
1168
StringArray changelists(jchangelists);
1169
if (JNIUtil::isExceptionThrown())
1172
return cl->propertyGet(path, name, revision, pegRevision, changelists);
1111
1175
JNIEXPORT jobject JNICALL
1131
1195
JNIEXPORT void JNICALL Java_org_apache_subversion_javahl_SVNClient_getMergeinfoLog
1132
1196
(JNIEnv *env, jobject jthis, jobject jkind, jstring jpathOrUrl,
1133
1197
jobject jpegRevision, jstring jmergeSourceUrl, jobject jsrcPegRevision,
1198
jobject jsrcStartRevision, jobject jsrcEndRevision,
1134
1199
jboolean jdiscoverChangedPaths, jobject jdepth, jobject jrevProps,
1135
1200
jobject jlogMessageCallback)
1150
1215
if (JNIUtil::isExceptionThrown())
1218
Revision srcStartRevision(jsrcStartRevision);
1219
if (JNIUtil::isExceptionThrown())
1222
Revision srcEndRevision(jsrcEndRevision);
1223
if (JNIUtil::isExceptionThrown())
1153
1226
JNIStringHolder pathOrUrl(jpathOrUrl);
1154
1227
if (JNIUtil::isExceptionThrown())
1167
1240
cl->getMergeinfoLog(EnumMapper::toMergeinfoLogKind(jkind),
1168
1241
pathOrUrl, pegRevision, mergeSourceUrl,
1169
srcPegRevision, jdiscoverChangedPaths ? true : false,
1242
srcPegRevision, srcStartRevision, srcEndRevision,
1243
jdiscoverChangedPaths ? true : false,
1170
1244
EnumMapper::toDepth(jdepth), revProps, &callback);
1173
1247
JNIEXPORT void JNICALL
1174
Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZ
1248
Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZZLorg_apache_subversion_javahl_types_DiffOptions_2
1175
1249
(JNIEnv *env, jobject jthis, jstring jtarget1, jobject jrevision1,
1176
1250
jstring jtarget2, jobject jrevision2, jstring jrelativeToDir,
1177
jstring joutfileName, jobject jdepth, jobject jchangelists,
1251
jobject jstream, jobject jdepth, jobject jchangelists,
1178
1252
jboolean jignoreAncestry, jboolean jnoDiffDeleted, jboolean jforce,
1179
jboolean jcopiesAsAdds)
1253
jboolean jcopiesAsAdds, jboolean jignoreProps, jboolean jpropsOnly,
1254
jobject jdiffOptions)
1181
1256
JNIEntry(SVNClient, diff);
1182
1257
SVNClient *cl = SVNClient::getCppObject(jthis);
1213
1288
if (JNIUtil::isExceptionThrown())
1216
cl->diff(target1, revision1, target2, revision2, relativeToDir, outfileName,
1291
DiffOptions options(jdiffOptions);
1292
if (JNIUtil::isExceptionThrown())
1295
cl->diff(target1, revision1, target2, revision2, relativeToDir, dataOut,
1217
1296
EnumMapper::toDepth(jdepth), changelists,
1218
1297
jignoreAncestry ? true:false,
1219
1298
jnoDiffDeleted ? true:false, jforce ? true:false,
1220
jcopiesAsAdds ? true:false);
1299
jcopiesAsAdds ? true:false, jignoreProps ? true:false,
1300
jpropsOnly ? true:false, options);
1223
1303
JNIEXPORT void JNICALL
1224
Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZ
1304
Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZZLorg_apache_subversion_javahl_types_DiffOptions_2
1225
1305
(JNIEnv *env, jobject jthis, jstring jtarget, jobject jpegRevision,
1226
1306
jobject jstartRevision, jobject jendRevision, jstring jrelativeToDir,
1227
jstring joutfileName, jobject jdepth, jobject jchangelists,
1307
jobject jstream, jobject jdepth, jobject jchangelists,
1228
1308
jboolean jignoreAncestry, jboolean jnoDiffDeleted, jboolean jforce,
1229
jboolean jcopiesAsAdds)
1309
jboolean jcopiesAsAdds, jboolean jignoreProps, jboolean jpropsOnly,
1310
jobject jdiffOptions)
1231
1312
JNIEntry(SVNClient, diff);
1232
1313
SVNClient *cl = SVNClient::getCppObject(jthis);
1263
1344
if (JNIUtil::isExceptionThrown())
1347
DiffOptions options(jdiffOptions);
1348
if (JNIUtil::isExceptionThrown())
1266
1351
cl->diff(target, pegRevision, startRevision, endRevision, relativeToDir,
1267
outfileName, EnumMapper::toDepth(jdepth), changelists,
1352
dataOut, EnumMapper::toDepth(jdepth), changelists,
1268
1353
jignoreAncestry ? true:false,
1269
1354
jnoDiffDeleted ? true:false, jforce ? true:false,
1270
jcopiesAsAdds ? true:false);
1355
jcopiesAsAdds ? true:false, jignoreProps ? true:false,
1356
jpropsOnly ? true:false, options);
1273
1359
JNIEXPORT void JNICALL
1762
1848
PatchCallback callback(jcallback);
1763
cl->patch(patchPath, targetPath, jdryRun ? true : false, (int) jstripCount,
1849
cl->patch(patchPath, targetPath,
1850
jdryRun ? true : false, static_cast<int>(jstripCount),
1764
1851
jreverse ? true : false, jignoreWhitespace ? true : false,
1765
1852
jremoveTempfiles ? true : false, &callback);