1
// /cvs/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/LibSvnClient.cs created with MonoDevelop
2
// User: fejj at 12:12 PMĀ 5/31/2007
7
using System.Threading;
8
using System.Collections;
9
using System.Runtime.InteropServices;
11
using MonoDevelop.Core;
12
using MonoDevelop.VersionControl.Subversion.Gui;
15
namespace MonoDevelop.VersionControl.Subversion.Unix {
16
public abstract class LibSvnClient {
17
public LibSvnClient ()
22
public static LibSvnClient GetLib ()
25
return new LibSvnClient0 ();
29
return new LibSvnClient1 ();
35
public abstract void config_ensure (string config_dir, IntPtr pool);
36
public abstract void config_get_config (ref IntPtr cfg_hash, string config_dir, IntPtr pool);
37
public abstract void auth_open (out IntPtr auth_baton, IntPtr providers, IntPtr pool);
38
public abstract void auth_set_parameter (IntPtr auth_baton, string name, IntPtr value);
39
public abstract IntPtr auth_get_parameter (IntPtr auth_baton, string name);
40
public abstract void client_get_simple_provider (IntPtr item, IntPtr pool);
41
public abstract void client_get_simple_prompt_provider (IntPtr item, svn_auth_simple_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool);
42
public abstract void client_get_username_provider (IntPtr item, IntPtr pool);
43
public abstract void client_get_username_prompt_provider (IntPtr item, svn_auth_username_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool);
44
public abstract void client_get_ssl_server_trust_file_provider (IntPtr item, IntPtr pool);
45
public abstract void client_get_ssl_client_cert_file_provider (IntPtr item, IntPtr pool);
46
public abstract void client_get_ssl_client_cert_pw_file_provider (IntPtr item, IntPtr pool);
47
public abstract void client_get_ssl_server_trust_prompt_provider (IntPtr item, svn_auth_ssl_server_trust_prompt_func_t prompt_func, IntPtr prompt_batton, IntPtr pool);
48
public abstract void client_get_ssl_client_cert_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool);
49
public abstract void client_get_ssl_client_cert_pw_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool);
51
public abstract IntPtr client_version ();
53
public abstract IntPtr client_create_context (out IntPtr ctx, IntPtr pool);
55
public abstract IntPtr client_ls (out IntPtr dirents, string path_or_url,
56
ref Rev revision, int recurse, IntPtr ctx,
59
public abstract IntPtr client_status (IntPtr result_rev, string path, ref Rev revision,
60
svn_wc_status_func_t status_func, IntPtr status_baton,
61
int descend, int get_all, int update, int no_ignore,
62
IntPtr ctx, IntPtr pool);
64
public abstract IntPtr client_log (IntPtr apr_array_header_t_targets,
65
ref Rev rev_start, ref Rev rev_end,
66
int discover_changed_paths,
67
int strict_node_history,
68
svn_log_message_receiver_t receiver,
69
IntPtr receiver_baton,
70
IntPtr ctx, IntPtr pool);
72
public abstract IntPtr time_from_cstring (out long aprtime, string time, IntPtr pool);
74
public abstract IntPtr client_url_from_path (ref IntPtr url, string path_or_url, IntPtr pool);
76
public abstract IntPtr client_cat2 (IntPtr stream, string path_or_url,
79
IntPtr ctx, IntPtr pool);
81
public abstract IntPtr stream_create (IntPtr baton, IntPtr pool);
83
//public abstract IntPtr stream_set_read (IntPtr stream, svn_readwrite_fn_t reader);
85
public abstract IntPtr stream_set_write (IntPtr stream, svn_readwrite_fn_t writer);
87
public abstract IntPtr client_update (IntPtr result_rev, string path, ref Rev revision,
88
int recurse, IntPtr ctx, IntPtr pool);
90
public abstract IntPtr client_delete (ref IntPtr commit_info_p, IntPtr apr_array_header_t_targets,
91
int force, IntPtr ctx, IntPtr pool);
93
public abstract IntPtr client_add3 (string path, int recurse, int force, int no_ignore, IntPtr ctx, IntPtr pool);
95
public abstract IntPtr client_commit (ref IntPtr svn_client_commit_info_t_commit_info,
96
IntPtr apr_array_header_t_targets, int nonrecursive,
97
IntPtr ctx, IntPtr pool);
99
public abstract IntPtr client_revert (IntPtr apr_array_header_t_targets, int recursive,
100
IntPtr ctx, IntPtr pool);
102
public abstract IntPtr client_resolved (string path, int recursive, IntPtr ctx, IntPtr pool);
104
public abstract IntPtr client_move (ref IntPtr commit_info_p, string srcPath, ref Rev rev,
105
string destPath, int force, IntPtr ctx, IntPtr pool);
107
public abstract IntPtr client_checkout (IntPtr result_rev, string url, string path, ref Rev rev,
108
int recurse, IntPtr ctx, IntPtr pool);
110
public abstract IntPtr client_mkdir2 (ref IntPtr commit_info, IntPtr apr_array_paths, IntPtr ctx, IntPtr pool);
112
public abstract IntPtr client_diff (IntPtr diff_options, string path1, ref Rev revision1,
113
string path2, ref Rev revision2, int recurse,
114
int ignore_ancestry, int no_diff_deleted,
115
IntPtr outfile, IntPtr errfile,
116
IntPtr ctx, IntPtr pool);
119
public abstract IntPtr client_merge_peg2 (string source,
122
ref Rev peg_revision,
123
string target_wcpath,
125
bool ignore_ancestry,
128
IntPtr merge_options,
132
public abstract IntPtr client_lock (IntPtr apr_array_header_t_targets, string comment, int steal_lock, IntPtr ctx, IntPtr pool);
134
public abstract IntPtr client_unlock (IntPtr apr_array_header_t_targets, int break_lock, IntPtr ctx, IntPtr pool);
136
public abstract IntPtr client_prop_get (out IntPtr value, string name, string target, ref Rev revision, int recurse, IntPtr ctx, IntPtr pool);
138
public abstract IntPtr client_blame (string path, ref Rev rev_start, ref Rev rev_end, svn_client_blame_receiver_t receiver, IntPtr baton, IntPtr ctx, IntPtr pool);
140
public abstract void strerror (int statcode, byte[] buf, int bufsize);
142
public class DirEnt {
143
public readonly string Name;
144
public readonly bool IsDirectory;
145
public readonly long Size;
146
public readonly bool HasProps;
147
public readonly int CreatedRevision;
148
public readonly DateTime Time;
149
public readonly string LastAuthor;
151
static readonly DateTime Epoch = new DateTime (1970, 1, 1);
153
internal DirEnt (string name, svn_dirent_t ent)
156
IsDirectory = (ent.kind.ToInt32 () == (int) NodeKind.Dir);
158
HasProps = ent.has_props != 0;
159
CreatedRevision = ent.created_rev;
160
Time = Epoch.AddTicks(ent.time * 10);
161
LastAuthor = ent.last_author;
165
public class StatusEnt {
166
public readonly string LocalFilePath;
167
public readonly string Name;
168
public readonly int Revision;
169
public readonly string Url;
170
public readonly string Repository;
171
public readonly string RepositoryUuid;
172
public readonly bool IsDirectory;
173
public readonly NodeSchedule Schedule;
174
public readonly bool Copied;
175
public readonly bool Deleted;
176
public readonly bool Absent;
177
public readonly bool Incomplete;
178
public readonly string CopiedFrom;
179
public readonly int CopiedFromRevision;
180
public readonly string ConflictOld;
181
public readonly string ConflictNew;
182
public readonly string ConflictWorking;
183
public readonly string PropertyRejectFile;
184
public readonly DateTime TextTime;
185
public readonly DateTime PropTime;
186
public readonly string Checksum; //(base64 for text-base, or NULL);
187
public readonly int LastCommitRevision;
188
public readonly DateTime LastCommitDate;
189
public readonly string LastCommitAuthor;
191
public readonly LibSvnClient.VersionStatus TextStatus;
192
public readonly LibSvnClient.VersionStatus PropsStatus;
193
public readonly bool Locked;
194
public readonly bool Switched;
195
public readonly LibSvnClient.VersionStatus RemoteTextStatus;
196
public readonly LibSvnClient.VersionStatus RemotePropsStatus;
197
public readonly bool RepoLocked;
198
public readonly bool LockOwned;
199
public readonly string LockToken;
200
public readonly string LockOwner;
201
public readonly string LockComment;
203
static readonly DateTime Epoch = new DateTime (1970, 1, 1);
205
internal StatusEnt (svn_wc_status_t status, string localpath)
207
LocalFilePath = localpath;
208
TextStatus = (VersionStatus) status.svn_wc_status_kind_text;
209
PropsStatus = (VersionStatus) status.svn_wc_status_kind_props;
210
Locked = status.locked != 0;
211
Copied = status.copied != 0;
212
Switched = status.switched != 0;
213
RemoteTextStatus = (VersionStatus) status.svn_wc_status_kind_text_repo;
214
RemotePropsStatus = (VersionStatus) status.svn_wc_status_kind_props_repo;
216
if (status.to_svn_wc_entry_t == IntPtr.Zero)
219
svn_wc_entry_t ent = (svn_wc_entry_t) Marshal.PtrToStructure (status.to_svn_wc_entry_t, typeof (svn_wc_entry_t));
221
Revision = ent.revision;
223
Repository = ent.repos;
224
RepositoryUuid = ent.repos_uuid;
225
IsDirectory = (ent.node_kind == (int) NodeKind.Dir);
226
Schedule = (NodeSchedule) ent.schedule;
227
Copied = ent.copied != 0;
228
Deleted = ent.deleted != 0;
229
Absent = ent.absent != 0;
230
Incomplete = ent.incomplete != 0;
231
CopiedFrom = ent.copied_from;
232
CopiedFromRevision = ent.copied_rev;
233
ConflictOld = ent.conflict_old;
234
ConflictNew = ent.conflict_new;
235
ConflictWorking = ent.conflict_working;
236
PropertyRejectFile = ent.property_reject_file;
237
TextTime = Epoch.AddTicks (ent.text_time * 10);
238
PropTime = Epoch.AddTicks (ent.prop_time * 10);
239
Checksum = ent.checksum;
240
LastCommitRevision = ent.last_commit_rev;
241
LastCommitDate = Epoch.AddTicks (ent.last_commit_date * 10);
242
LastCommitAuthor = ent.last_commit_author;
243
LockToken = ent.lock_token;
244
LockOwner = ent.lock_owner;
245
LockComment = ent.lock_comment;
247
if (status.repos_lock != IntPtr.Zero) {
248
svn_lock_t repoLock = (svn_lock_t) Marshal.PtrToStructure (status.repos_lock, typeof (svn_lock_t));
249
LockToken = repoLock.token;
250
LockOwner = repoLock.owner;
251
LockComment = repoLock.comment;
254
if (LockToken != null) {
262
[StructLayout(LayoutKind.Sequential)]
263
public struct svn_client_ctx_t {
264
public IntPtr auth_baton;
265
public svn_wc_notify_func_t NotifyFunc;
266
public IntPtr notify_baton;
267
public svn_client_get_commit_log_t LogMsgFunc;
268
public IntPtr logmsg_baton;
269
public IntPtr config;
270
public IntPtr cancel_func;
271
public IntPtr cancel_baton;
272
public svn_wc_notify_func2_t NotifyFunc2;
273
public IntPtr notify_baton2;
276
public struct svn_wc_notify_t {
278
public LibSvnClient.NotifyAction action;
279
public LibSvnClient.NodeKind kind;
280
public IntPtr mime_type;
281
public IntPtr repo_lock;
283
public LibSvnClient.NotifyState content_state;
284
public LibSvnClient.NotifyState prop_state;
285
public LibSvnClient.NotifyLockState lock_state;
286
public long revision;
287
public IntPtr changelist_name;
288
public IntPtr merge_range;
289
public IntPtr path_prefix;
292
public struct svn_error_t {
293
[MarshalAs (UnmanagedType.SysInt)] public int apr_err;
294
[MarshalAs (UnmanagedType.LPStr)] public string message;
295
public IntPtr svn_error_t_child;
297
[MarshalAs (UnmanagedType.LPStr)] public string file;
298
[MarshalAs (UnmanagedType.SysInt)] public int line;
301
public struct svn_client_commit_info_t {
304
public IntPtr author;
307
public struct svn_version_t {
314
public enum NodeKind {
321
internal struct svn_dirent_t {
324
//HACK: [MarshalAs (UnmanagedType.SysInt)] doesn't work on mono, so hack around 32/64 issue
325
public IntPtr _has_props;
326
public int has_props {
328
return _has_props.ToInt32 ();
331
public int created_rev;
332
public long time; // created
333
[MarshalAs (UnmanagedType.LPStr)] public string last_author;
336
public enum NodeSchedule {
343
public enum VersionStatus {
361
public struct svn_wc_entry_t {
366
public string repos_uuid;
367
public int node_kind;
372
public int incomplete;
373
public string copied_from;
374
public int copied_rev;
375
public string conflict_old;
376
public string conflict_new;
377
public string conflict_working;
378
public string property_reject_file;
379
public long text_time; // or zero
380
public long prop_time;
381
public string checksum; //(base64 for text-base, or NULL);
382
public int last_commit_rev;
383
public long last_commit_date;
384
public string last_commit_author;
385
public string lock_token;
386
public string lock_owner;
387
public string lock_comment;
390
public struct svn_wc_status_t {
391
public IntPtr to_svn_wc_entry_t;
392
public int svn_wc_status_kind_text; // Field not shown in the documentation
393
public int svn_wc_status_kind_props; // Field not shown in the documentation
397
public int svn_wc_status_kind_text_repo; // Field not shown in the documentation
398
public int svn_wc_status_kind_props_repo; // Field not shown in the documentation
399
public IntPtr repos_lock;
402
public struct svn_lock_t {
406
public string comment;
407
public int is_dav_comment;
410
public struct svn_string_t {
417
public svn_opt_revision_value_t value;
420
this.kind = (IntPtr) kind;
421
value = new svn_opt_revision_value_t ();
424
public static Rev Number (int rev)
427
r.value.number = (IntPtr) rev;
431
public static explicit operator Rev (SvnRevision rev)
434
r.kind = (IntPtr) rev.Kind;
436
r.value.number = (IntPtr) rev.Rev;
440
public static explicit operator Rev (Revision rev)
442
return (Rev) (SvnRevision) rev;
445
public readonly static Rev Blank = new Rev(0);
446
public readonly static Rev First = new Rev(1);
447
public readonly static Rev Committed = new Rev(3);
448
public readonly static Rev Previous = new Rev(4);
449
public readonly static Rev Base = new Rev(5);
450
public readonly static Rev Working = new Rev(6);
451
public readonly static Rev Head = new Rev(7);
454
public struct svn_opt_revision_value_t {
455
public IntPtr number;
460
public struct svn_log_changed_path_t {
462
public string copy_from_path;
463
public int copy_from_rev;
466
public struct svn_auth_cred_simple_t {
467
[MarshalAs (UnmanagedType.LPStr)] public string username;
468
[MarshalAs (UnmanagedType.LPStr)] public string password;
469
[MarshalAs (UnmanagedType.SysInt)] public int may_save;
472
public struct svn_auth_cred_username_t {
473
[MarshalAs (UnmanagedType.LPStr)] public string username;
474
[MarshalAs (UnmanagedType.SysInt)] public int may_save;
477
public struct svn_auth_cred_ssl_server_trust_t {
478
[MarshalAs (UnmanagedType.SysInt)] public int may_save;
479
public uint accepted_failures;
482
public struct svn_auth_cred_ssl_client_cert_t {
483
[MarshalAs (UnmanagedType.LPStr)] public string cert_file;
484
[MarshalAs (UnmanagedType.SysInt)] public int may_save;
487
public struct svn_auth_cred_ssl_client_cert_pw_t {
488
[MarshalAs (UnmanagedType.LPStr)] public string password;
489
[MarshalAs (UnmanagedType.SysInt)] public int may_save;
492
public struct svn_auth_ssl_server_cert_info_t {
493
[MarshalAs (UnmanagedType.LPStr)] public string hostname;
494
[MarshalAs (UnmanagedType.LPStr)] public string fingerprint;
495
[MarshalAs (UnmanagedType.LPStr)] public string valid_from;
496
[MarshalAs (UnmanagedType.LPStr)] public string valid_until;
497
[MarshalAs (UnmanagedType.LPStr)] public string issuer_dname;
498
[MarshalAs (UnmanagedType.LPStr)] public string ascii_cert;
501
public enum NotifyAction {
521
CommitPostfixTxDelta,
529
public enum NotifyState {
540
public enum NotifyLockState {
546
public delegate void svn_wc_status_func_t (IntPtr baton, IntPtr path, ref svn_wc_status_t status);
548
// Certificate is not yet valid.
549
public const uint SVN_AUTH_SSL_NOTYETVALID = 0x00000001;
550
// Certificate has expired.
551
public const uint SVN_AUTH_SSL_EXPIRED = 0x00000002;
552
// Certificate's CN (hostname) does not match the remote hostname.
553
public const uint SVN_AUTH_SSL_CNMISMATCH = 0x00000004;
554
// Certificate authority is unknown (i.e. not trusted)
555
public const uint SVN_AUTH_SSL_UNKNOWNCA = 0x00000008;
556
// Other failure. This can happen if neon has introduced a new failure bit that we do not handle yet. */
557
public const uint SVN_AUTH_SSL_OTHER = 0x40000000;
559
public delegate IntPtr svn_auth_simple_prompt_func_t (ref IntPtr cred, IntPtr baton, [MarshalAs (UnmanagedType.LPStr)] string realm, [MarshalAs (UnmanagedType.LPStr)] string user_name, [MarshalAs (UnmanagedType.SysInt)] int may_save, IntPtr pool);
560
public delegate IntPtr svn_auth_username_prompt_func_t (ref IntPtr cred, IntPtr baton, [MarshalAs (UnmanagedType.LPStr)] string realm, [MarshalAs (UnmanagedType.SysInt)] int may_save, IntPtr pool);
561
public delegate IntPtr svn_auth_ssl_server_trust_prompt_func_t (ref IntPtr cred, IntPtr baton, [MarshalAs (UnmanagedType.LPStr)] string realm, uint failures, ref svn_auth_ssl_server_cert_info_t cert_info, [MarshalAs (UnmanagedType.SysInt)] int may_save, IntPtr pool);
562
public delegate IntPtr svn_auth_ssl_client_cert_prompt_func_t (ref IntPtr cred, IntPtr baton, [MarshalAs (UnmanagedType.LPStr)] string realm, [MarshalAs (UnmanagedType.SysInt)] int may_save, IntPtr pool);
563
public delegate IntPtr svn_auth_ssl_client_cert_pw_prompt_func_t (ref IntPtr cred, IntPtr baton, [MarshalAs (UnmanagedType.LPStr)] string realm, [MarshalAs (UnmanagedType.SysInt)] int may_save, IntPtr pool);
565
public delegate IntPtr svn_log_message_receiver_t (IntPtr baton, IntPtr apr_hash_changed_paths,
566
int revision, IntPtr author, IntPtr date,
567
IntPtr message, IntPtr pool);
569
public delegate IntPtr svn_readwrite_fn_t (IntPtr baton, IntPtr data, ref IntPtr len);
571
public delegate void svn_wc_notify_func_t (IntPtr baton, IntPtr path, NotifyAction action, NodeKind kind,
572
IntPtr mime_type, NotifyState content_state, NotifyState prop_state,
575
public delegate void svn_wc_notify_func2_t (IntPtr baton, ref svn_wc_notify_t notify, IntPtr pool);
577
public delegate IntPtr svn_client_get_commit_log_t (ref IntPtr log_msg, ref IntPtr tmp_file, IntPtr commit_items,
578
IntPtr baton, IntPtr pool);
580
public delegate IntPtr svn_client_blame_receiver_t (IntPtr baton, long line_no, int revision, string author, string date, string line, IntPtr pool);
583
public class LibSvnClient0 : LibSvnClient {
584
private const string svnclientlib = "libsvn_client-1.so.0";
586
public override void config_ensure (string config_dir, IntPtr pool)
588
svn_config_ensure (config_dir, pool);
591
public override void config_get_config (ref IntPtr cfg_hash, string config_dir, IntPtr pool)
593
svn_config_get_config (ref cfg_hash, config_dir, pool);
596
public override void auth_open (out IntPtr auth_baton, IntPtr providers, IntPtr pool)
598
svn_auth_open (out auth_baton, providers, pool);
601
public override void auth_set_parameter (IntPtr auth_baton, string name, IntPtr value)
603
svn_auth_set_parameter (auth_baton, name, value);
606
public override IntPtr auth_get_parameter (IntPtr auth_baton, string name)
608
return svn_auth_get_parameter (auth_baton, name);
611
public override void client_get_simple_provider (IntPtr item, IntPtr pool)
613
svn_client_get_simple_provider (item, pool);
616
public override void client_get_simple_prompt_provider (IntPtr item, svn_auth_simple_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
618
svn_client_get_simple_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
621
public override void client_get_username_provider (IntPtr item, IntPtr pool)
623
svn_client_get_username_provider (item, pool);
626
public override void client_get_username_prompt_provider (IntPtr item, svn_auth_username_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
628
svn_client_get_username_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
631
public override void client_get_ssl_server_trust_file_provider (IntPtr item, IntPtr pool)
633
svn_client_get_ssl_server_trust_file_provider (item, pool);
636
public override void client_get_ssl_client_cert_file_provider (IntPtr item, IntPtr pool)
638
svn_client_get_ssl_client_cert_file_provider (item, pool);
641
public override void client_get_ssl_client_cert_pw_file_provider (IntPtr item, IntPtr pool)
643
svn_client_get_ssl_client_cert_pw_file_provider (item, pool);
646
public override void client_get_ssl_server_trust_prompt_provider (IntPtr item, svn_auth_ssl_server_trust_prompt_func_t prompt_func, IntPtr prompt_batton, IntPtr pool)
648
svn_client_get_ssl_server_trust_prompt_provider (item, prompt_func, prompt_batton, pool);
651
public override void client_get_ssl_client_cert_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
653
svn_client_get_ssl_client_cert_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
656
public override void client_get_ssl_client_cert_pw_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
658
svn_client_get_ssl_client_cert_pw_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
661
public override IntPtr client_version ()
663
return svn_client_version ();
666
public override IntPtr client_create_context (out IntPtr ctx, IntPtr pool)
668
return svn_client_create_context (out ctx, pool);
671
public override IntPtr client_ls (out IntPtr dirents, string path_or_url,
672
ref Rev revision, int recurse, IntPtr ctx,
675
return svn_client_ls (out dirents, path_or_url, ref revision, recurse, ctx, pool);
678
public override IntPtr client_status (IntPtr result_rev, string path, ref Rev revision,
679
svn_wc_status_func_t status_func, IntPtr status_baton,
680
int descend, int get_all, int update, int no_ignore,
681
IntPtr ctx, IntPtr pool)
683
return svn_client_status (result_rev, path, ref revision, status_func, status_baton,
684
descend, get_all, update, no_ignore, ctx, pool);
687
public override IntPtr client_log (IntPtr apr_array_header_t_targets,
688
ref Rev rev_start, ref Rev rev_end,
689
int discover_changed_paths,
690
int strict_node_history,
691
svn_log_message_receiver_t receiver,
692
IntPtr receiver_baton,
693
IntPtr ctx, IntPtr pool)
695
return svn_client_log (apr_array_header_t_targets, ref rev_start, ref rev_end,
696
discover_changed_paths, strict_node_history, receiver,
697
receiver_baton,ctx, pool);
700
public override IntPtr time_from_cstring (out long aprtime, string time, IntPtr pool)
702
return svn_time_from_cstring (out aprtime, time, pool);
705
public override IntPtr client_url_from_path (ref IntPtr url, string path_or_url, IntPtr pool)
707
return svn_client_url_from_path (ref url, path_or_url, pool);
710
public override IntPtr client_cat2 (IntPtr stream, string path_or_url,
711
ref Rev peg_revision,
713
IntPtr ctx, IntPtr pool)
715
return svn_client_cat2 (stream, path_or_url, ref peg_revision, ref revision, ctx, pool);
718
public override IntPtr stream_create (IntPtr baton, IntPtr pool)
720
return svn_stream_create (baton, pool);
723
//public override IntPtr stream_set_read (IntPtr stream, svn_readwrite_fn_t reader);
725
public override IntPtr stream_set_write (IntPtr stream, svn_readwrite_fn_t writer)
727
return svn_stream_set_write (stream, writer);
730
public override IntPtr client_update (IntPtr result_rev, string path, ref Rev revision,
731
int recurse, IntPtr ctx, IntPtr pool)
733
return svn_client_update (result_rev, path, ref revision, recurse, ctx, pool);
736
public override IntPtr client_delete (ref IntPtr commit_info_p, IntPtr apr_array_header_t_targets,
737
int force, IntPtr ctx, IntPtr pool)
739
return svn_client_delete (ref commit_info_p, apr_array_header_t_targets, force, ctx, pool);
742
public override IntPtr client_add3 (string path, int recurse, int force, int no_ignore, IntPtr ctx, IntPtr pool)
744
return svn_client_add3 (path, recurse, force, no_ignore, ctx, pool);
747
public override IntPtr client_commit (ref IntPtr svn_client_commit_info_t_commit_info,
748
IntPtr apr_array_header_t_targets, int nonrecursive,
749
IntPtr ctx, IntPtr pool)
751
return svn_client_commit (ref svn_client_commit_info_t_commit_info, apr_array_header_t_targets,
752
nonrecursive, ctx, pool);
755
public override IntPtr client_revert (IntPtr apr_array_header_t_targets, int recursive,
756
IntPtr ctx, IntPtr pool)
758
return svn_client_revert (apr_array_header_t_targets, recursive, ctx, pool);
761
public override IntPtr client_resolved (string path, int recursive, IntPtr ctx, IntPtr pool)
763
return svn_client_resolved (path, recursive, ctx, pool);
766
public override IntPtr client_move (ref IntPtr commit_info_p, string srcPath, ref Rev rev,
767
string destPath, int force, IntPtr ctx, IntPtr pool)
769
return svn_client_move (ref commit_info_p, srcPath, ref rev, destPath, force, ctx, pool);
772
public override IntPtr client_checkout (IntPtr result_rev, string url, string path, ref Rev rev,
773
int recurse, IntPtr ctx, IntPtr pool)
775
return svn_client_checkout (result_rev, url, path, ref rev, recurse, ctx, pool);
778
public override IntPtr client_mkdir2 (ref IntPtr commit_info, IntPtr apr_array_paths, IntPtr ctx, IntPtr pool)
780
return svn_client_mkdir2 (ref commit_info, apr_array_paths, ctx, pool);
783
public override IntPtr client_diff (IntPtr diff_options, string path1, ref Rev revision1,
784
string path2, ref Rev revision2, int recurse,
785
int ignore_ancestry, int no_diff_deleted,
786
IntPtr outfile, IntPtr errfile,
787
IntPtr ctx, IntPtr pool)
789
return svn_client_diff (diff_options, path1, ref revision1, path2, ref revision2, recurse, ignore_ancestry,
790
no_diff_deleted, outfile, errfile, ctx, pool);
793
public override IntPtr client_merge_peg2 (
797
ref Rev peg_revision,
798
string target_wcpath,
800
bool ignore_ancestry,
803
IntPtr merge_options,
807
// svn_boolean_t == int
808
return svn_client_merge_peg2 (source, ref revision1, ref revision2, ref peg_revision, target_wcpath,
809
recurse ? 1: 0, ignore_ancestry ? 1 : 0, force ? 1 : 0, dry_run ? 1 : 0,
810
merge_options, ctx, pool);
813
public override IntPtr client_lock (IntPtr apr_array_header_t_targets, string comment, int steal_lock, IntPtr ctx, IntPtr pool)
815
return svn_client_lock (apr_array_header_t_targets, comment, steal_lock, ctx, pool);
818
public override IntPtr client_unlock (IntPtr apr_array_header_t_targets, int break_lock, IntPtr ctx, IntPtr pool)
820
return svn_client_unlock (apr_array_header_t_targets, break_lock, ctx, pool);
823
public override IntPtr client_prop_get (out IntPtr value, string name, string target, ref Rev revision, int recurse, IntPtr ctx, IntPtr pool)
825
return svn_client_prop_get (out value, name, target, ref revision, recurse, ctx, pool);
828
public override IntPtr client_blame (string path, ref Rev rev_start, ref Rev rev_end, svn_client_blame_receiver_t receiver, System.IntPtr baton, System.IntPtr ctx, System.IntPtr pool)
830
return svn_client_blame (path, ref rev_start, ref rev_end, receiver, baton, ctx, pool);
833
public override void strerror (int statcode, byte[] buf, int bufsize)
835
svn_strerror (statcode, buf, bufsize);
840
[DllImport(svnclientlib)] static extern void svn_config_ensure (string config_dir, IntPtr pool);
841
[DllImport(svnclientlib)] static extern void svn_config_get_config (ref IntPtr cfg_hash, string config_dir, IntPtr pool);
842
[DllImport(svnclientlib)] static extern void svn_auth_open (out IntPtr auth_baton, IntPtr providers, IntPtr pool);
843
[DllImport(svnclientlib)] static extern void svn_auth_set_parameter (IntPtr auth_baton, string name, IntPtr value);
844
[DllImport(svnclientlib)] static extern IntPtr svn_auth_get_parameter (IntPtr auth_baton, string name);
845
[DllImport(svnclientlib)] static extern void svn_client_get_simple_provider (IntPtr item, IntPtr pool);
846
[DllImport(svnclientlib)] static extern void svn_client_get_simple_prompt_provider (IntPtr item, svn_auth_simple_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
847
[DllImport(svnclientlib)] static extern void svn_client_get_username_provider (IntPtr item, IntPtr pool);
848
[DllImport(svnclientlib)] static extern void svn_client_get_username_prompt_provider (IntPtr item, svn_auth_username_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
849
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_server_trust_file_provider (IntPtr item, IntPtr pool);
850
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_file_provider (IntPtr item, IntPtr pool);
851
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_pw_file_provider (IntPtr item, IntPtr pool);
852
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_server_trust_prompt_provider (IntPtr item, svn_auth_ssl_server_trust_prompt_func_t prompt_func, IntPtr prompt_batton, IntPtr pool);
853
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
854
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_pw_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
856
[DllImport(svnclientlib)] static extern IntPtr svn_client_version();
858
[DllImport(svnclientlib)] static extern IntPtr svn_client_create_context(out IntPtr ctx, IntPtr pool);
860
[DllImport(svnclientlib)] static extern IntPtr svn_client_ls (out IntPtr dirents, string path_or_url,
861
ref Rev revision, int recurse, IntPtr ctx,
864
[DllImport(svnclientlib)] static extern IntPtr svn_client_status (IntPtr result_rev, string path, ref Rev revision,
865
svn_wc_status_func_t status_func, IntPtr status_baton,
866
int descend, int get_all, int update, int no_ignore,
867
IntPtr ctx, IntPtr pool);
869
[DllImport(svnclientlib)] static extern IntPtr svn_client_log (IntPtr apr_array_header_t_targets,
870
ref Rev rev_start, ref Rev rev_end,
871
int discover_changed_paths,
872
int strict_node_history,
873
svn_log_message_receiver_t receiver,
874
IntPtr receiver_baton,
875
IntPtr ctx, IntPtr pool);
877
[DllImport(svnclientlib)] static extern IntPtr svn_time_from_cstring (out long aprtime, string time, IntPtr pool);
879
[DllImport(svnclientlib)] static extern IntPtr svn_client_url_from_path (ref IntPtr url, string path_or_url, IntPtr pool);
881
[DllImport(svnclientlib)] static extern IntPtr svn_client_cat2 (IntPtr stream, string path_or_url,
882
ref Rev peg_revision,
884
IntPtr ctx, IntPtr pool);
886
[DllImport(svnclientlib)] static extern IntPtr svn_stream_create (IntPtr baton, IntPtr pool);
888
//[DllImport(svnclientlib)] static extern IntPtr svn_stream_set_read (IntPtr stream, svn_readwrite_fn_t reader);
890
[DllImport(svnclientlib)] static extern IntPtr svn_stream_set_write (IntPtr stream, svn_readwrite_fn_t writer);
892
[DllImport(svnclientlib)] static extern IntPtr svn_client_update (IntPtr result_rev, string path, ref Rev revision,
893
int recurse, IntPtr ctx, IntPtr pool);
895
[DllImport(svnclientlib)] static extern IntPtr svn_client_delete (ref IntPtr commit_info_p, IntPtr apr_array_header_t_targets,
896
int force, IntPtr ctx, IntPtr pool);
898
[DllImport(svnclientlib)] static extern IntPtr svn_client_add3 (string path, int recurse, int force, int no_ignore, IntPtr ctx, IntPtr pool);
900
[DllImport(svnclientlib)] static extern IntPtr svn_client_commit (ref IntPtr svn_client_commit_info_t_commit_info,
901
IntPtr apr_array_header_t_targets, int nonrecursive,
902
IntPtr ctx, IntPtr pool);
904
[DllImport(svnclientlib)] static extern IntPtr svn_client_revert (IntPtr apr_array_header_t_targets, int recursive,
905
IntPtr ctx, IntPtr pool);
907
[DllImport(svnclientlib)] static extern IntPtr svn_client_resolved (string path, int recursive, IntPtr ctx, IntPtr pool);
909
[DllImport(svnclientlib)] static extern IntPtr svn_client_move (ref IntPtr commit_info_p, string srcPath, ref Rev rev,
910
string destPath, int force, IntPtr ctx, IntPtr pool);
912
[DllImport(svnclientlib)] static extern IntPtr svn_client_checkout (IntPtr result_rev, string url, string path, ref Rev rev,
913
int recurse, IntPtr ctx, IntPtr pool);
915
[DllImport(svnclientlib)] static extern IntPtr svn_client_mkdir2 (ref IntPtr commit_info, IntPtr apr_array_paths, IntPtr ctx, IntPtr pool);
917
[DllImport(svnclientlib)] static extern IntPtr svn_client_diff (IntPtr diff_options, string path1,
918
ref Rev revision1, string path2,
919
ref Rev revision2, int recurse,
927
[DllImport(svnclientlib)] static extern IntPtr svn_client_merge_peg2 (string source,
930
ref Rev peg_revision,
931
string target_wcpath,
936
IntPtr merge_options,
940
[DllImport(svnclientlib)] static extern IntPtr svn_client_lock (IntPtr apr_array_header_t_targets, string comment, int steal_lock, IntPtr ctx, IntPtr pool);
942
[DllImport(svnclientlib)] static extern IntPtr svn_client_unlock (IntPtr apr_array_header_t_targets, int break_lock, IntPtr ctx, IntPtr pool);
944
[DllImport(svnclientlib)] static extern IntPtr svn_client_prop_get (out IntPtr value, string name, string target, ref Rev revision, int recurse, IntPtr ctx, IntPtr pool);
946
[DllImport(svnclientlib)] static extern IntPtr svn_client_blame (string path, ref Rev rev_start, ref Rev rev_end, svn_client_blame_receiver_t receiver, IntPtr baton, IntPtr ctx, IntPtr pool);
948
[DllImport(svnclientlib)] static extern void svn_strerror (int statcode, byte[] buf, int bufsize);
951
public class LibSvnClient1 : LibSvnClient {
952
private const string svnclientlib = "libsvn_client-1.so.1";
954
public override void config_ensure (string config_dir, IntPtr pool)
956
svn_config_ensure (config_dir, pool);
959
public override void config_get_config (ref IntPtr cfg_hash, string config_dir, IntPtr pool)
961
svn_config_get_config (ref cfg_hash, config_dir, pool);
964
public override void auth_open (out IntPtr auth_baton, IntPtr providers, IntPtr pool)
966
svn_auth_open (out auth_baton, providers, pool);
969
public override void auth_set_parameter (IntPtr auth_baton, string name, IntPtr value)
971
svn_auth_set_parameter (auth_baton, name, value);
974
public override IntPtr auth_get_parameter (IntPtr auth_baton, string name)
976
return svn_auth_get_parameter (auth_baton, name);
979
public override void client_get_simple_provider (IntPtr item, IntPtr pool)
981
svn_client_get_simple_provider (item, pool);
984
public override void client_get_simple_prompt_provider (IntPtr item, svn_auth_simple_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
986
svn_client_get_simple_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
989
public override void client_get_username_provider (IntPtr item, IntPtr pool)
991
svn_client_get_username_provider (item, pool);
994
public override void client_get_username_prompt_provider (IntPtr item, svn_auth_username_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
996
svn_client_get_username_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
999
public override void client_get_ssl_server_trust_file_provider (IntPtr item, IntPtr pool)
1001
svn_client_get_ssl_server_trust_file_provider (item, pool);
1004
public override void client_get_ssl_client_cert_file_provider (IntPtr item, IntPtr pool)
1006
svn_client_get_ssl_client_cert_file_provider (item, pool);
1009
public override void client_get_ssl_client_cert_pw_file_provider (IntPtr item, IntPtr pool)
1011
svn_client_get_ssl_client_cert_pw_file_provider (item, pool);
1014
public override void client_get_ssl_server_trust_prompt_provider (IntPtr item, svn_auth_ssl_server_trust_prompt_func_t prompt_func, IntPtr prompt_batton, IntPtr pool)
1016
svn_client_get_ssl_server_trust_prompt_provider (item, prompt_func, prompt_batton, pool);
1019
public override void client_get_ssl_client_cert_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
1021
svn_client_get_ssl_client_cert_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
1024
public override void client_get_ssl_client_cert_pw_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func, IntPtr prompt_batton, int retry_limit, IntPtr pool)
1026
svn_client_get_ssl_client_cert_pw_prompt_provider (item, prompt_func, prompt_batton, retry_limit, pool);
1029
public override IntPtr client_version ()
1031
return svn_client_version ();
1034
public override IntPtr client_create_context (out IntPtr ctx, IntPtr pool)
1036
return svn_client_create_context (out ctx, pool);
1039
public override IntPtr client_ls (out IntPtr dirents, string path_or_url,
1040
ref Rev revision, int recurse, IntPtr ctx,
1043
return svn_client_ls (out dirents, path_or_url, ref revision, recurse, ctx, pool);
1046
public override IntPtr client_status (IntPtr result_rev, string path, ref Rev revision,
1047
svn_wc_status_func_t status_func, IntPtr status_baton,
1048
int descend, int get_all, int update, int no_ignore,
1049
IntPtr ctx, IntPtr pool)
1051
return svn_client_status (result_rev, path, ref revision, status_func, status_baton,
1052
descend, get_all, update, no_ignore, ctx, pool);
1055
public override IntPtr client_log (IntPtr apr_array_header_t_targets,
1056
ref Rev rev_start, ref Rev rev_end,
1057
int discover_changed_paths,
1058
int strict_node_history,
1059
svn_log_message_receiver_t receiver,
1060
IntPtr receiver_baton,
1061
IntPtr ctx, IntPtr pool)
1063
return svn_client_log (apr_array_header_t_targets, ref rev_start, ref rev_end,
1064
discover_changed_paths, strict_node_history, receiver,
1065
receiver_baton,ctx, pool);
1068
public override IntPtr time_from_cstring (out long aprtime, string time, IntPtr pool)
1070
return svn_time_from_cstring (out aprtime, time, pool);
1073
public override IntPtr client_url_from_path (ref IntPtr url, string path_or_url, IntPtr pool)
1075
return svn_client_url_from_path (ref url, path_or_url, pool);
1078
public override IntPtr client_cat2 (IntPtr stream, string path_or_url,
1079
ref Rev peg_revision,
1081
IntPtr ctx, IntPtr pool)
1083
return svn_client_cat2 (stream, path_or_url, ref peg_revision, ref revision, ctx, pool);
1086
public override IntPtr stream_create (IntPtr baton, IntPtr pool)
1088
return svn_stream_create (baton, pool);
1091
//public override IntPtr stream_set_read (IntPtr stream, svn_readwrite_fn_t reader);
1093
public override IntPtr stream_set_write (IntPtr stream, svn_readwrite_fn_t writer)
1095
return svn_stream_set_write (stream, writer);
1098
public override IntPtr client_update (IntPtr result_rev, string path, ref Rev revision,
1099
int recurse, IntPtr ctx, IntPtr pool)
1101
return svn_client_update (result_rev, path, ref revision, recurse, ctx, pool);
1104
public override IntPtr client_delete (ref IntPtr commit_info_p, IntPtr apr_array_header_t_targets,
1105
int force, IntPtr ctx, IntPtr pool)
1107
return svn_client_delete (ref commit_info_p, apr_array_header_t_targets, force, ctx, pool);
1110
public override IntPtr client_add3 (string path, int recurse, int force, int no_ignore, IntPtr ctx, IntPtr pool)
1112
return svn_client_add3 (path, recurse, force, no_ignore, ctx, pool);
1115
public override IntPtr client_commit (ref IntPtr svn_client_commit_info_t_commit_info,
1116
IntPtr apr_array_header_t_targets, int nonrecursive,
1117
IntPtr ctx, IntPtr pool)
1119
return svn_client_commit (ref svn_client_commit_info_t_commit_info, apr_array_header_t_targets,
1120
nonrecursive, ctx, pool);
1123
public override IntPtr client_revert (IntPtr apr_array_header_t_targets, int recursive,
1124
IntPtr ctx, IntPtr pool)
1126
return svn_client_revert (apr_array_header_t_targets, recursive, ctx, pool);
1129
public override IntPtr client_resolved (string path, int recursive, IntPtr ctx, IntPtr pool)
1131
return svn_client_resolved (path, recursive, ctx, pool);
1134
public override IntPtr client_move (ref IntPtr commit_info_p, string srcPath, ref Rev rev,
1135
string destPath, int force, IntPtr ctx, IntPtr pool)
1137
return svn_client_move (ref commit_info_p, srcPath, ref rev, destPath, force, ctx, pool);
1140
public override IntPtr client_checkout (IntPtr result_rev, string url, string path, ref Rev rev,
1141
int recurse, IntPtr ctx, IntPtr pool)
1143
return svn_client_checkout (result_rev, url, path, ref rev, recurse, ctx, pool);
1146
public override IntPtr client_mkdir2 (ref IntPtr commit_info, IntPtr apr_array_paths, IntPtr ctx, IntPtr pool)
1148
return svn_client_mkdir2 (ref commit_info, apr_array_paths, ctx, pool);
1151
public override IntPtr client_diff (IntPtr diff_options, string path1, ref Rev revision1,
1152
string path2, ref Rev revision2, int recurse,
1153
int ignore_ancestry, int no_diff_deleted,
1154
IntPtr outfile, IntPtr errfile,
1155
IntPtr ctx, IntPtr pool)
1157
return svn_client_diff (diff_options, path1, ref revision1, path2, ref revision2, recurse, ignore_ancestry,
1158
no_diff_deleted, outfile, errfile, ctx, pool);
1161
public override IntPtr client_merge_peg2 (
1165
ref Rev peg_revision,
1166
string target_wcpath,
1168
bool ignore_ancestry,
1171
IntPtr merge_options,
1175
// svn_boolean_t == int
1176
return svn_client_merge_peg2 (source, ref revision1, ref revision2, ref peg_revision, target_wcpath,
1177
recurse ? 1: 0, ignore_ancestry ? 1 : 0, force ? 1 : 0, dry_run ? 1 : 0,
1178
merge_options, ctx, pool);
1181
public override IntPtr client_lock (IntPtr apr_array_header_t_targets, string comment, int steal_lock, IntPtr ctx, IntPtr pool)
1183
return svn_client_lock (apr_array_header_t_targets, comment, steal_lock, ctx, pool);
1186
public override IntPtr client_unlock (IntPtr apr_array_header_t_targets, int break_lock, IntPtr ctx, IntPtr pool)
1188
return svn_client_unlock (apr_array_header_t_targets, break_lock, ctx, pool);
1191
public override IntPtr client_prop_get (out IntPtr value, string name, string target, ref Rev revision, int recurse, IntPtr ctx, IntPtr pool)
1193
return svn_client_prop_get (out value, name, target, ref revision, recurse, ctx, pool);
1196
public override IntPtr client_blame (string path, ref Rev rev_start, ref Rev rev_end, svn_client_blame_receiver_t receiver, System.IntPtr baton, System.IntPtr ctx, System.IntPtr pool)
1198
return svn_client_blame (path, ref rev_start, ref rev_end, receiver, baton, ctx, pool);
1201
public override void strerror (int statcode, byte[] buf, int bufsize)
1203
svn_strerror (statcode, buf, bufsize);
1207
[DllImport(svnclientlib)] static extern void svn_config_ensure (string config_dir, IntPtr pool);
1208
[DllImport(svnclientlib)] static extern void svn_config_get_config (ref IntPtr cfg_hash, string config_dir, IntPtr pool);
1209
[DllImport(svnclientlib)] static extern void svn_auth_open (out IntPtr auth_baton, IntPtr providers, IntPtr pool);
1210
[DllImport(svnclientlib)] static extern void svn_auth_set_parameter (IntPtr auth_baton, string name, IntPtr value);
1211
[DllImport(svnclientlib)] static extern IntPtr svn_auth_get_parameter (IntPtr auth_baton, string name);
1212
[DllImport(svnclientlib)] static extern void svn_client_get_simple_provider (IntPtr item, IntPtr pool);
1213
[DllImport(svnclientlib)] static extern void svn_client_get_simple_prompt_provider (IntPtr item, svn_auth_simple_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
1214
[DllImport(svnclientlib)] static extern void svn_client_get_username_provider (IntPtr item, IntPtr pool);
1215
[DllImport(svnclientlib)] static extern void svn_client_get_username_prompt_provider (IntPtr item, svn_auth_username_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
1216
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_server_trust_file_provider (IntPtr item, IntPtr pool);
1217
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_file_provider (IntPtr item, IntPtr pool);
1218
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_pw_file_provider (IntPtr item, IntPtr pool);
1219
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_server_trust_prompt_provider (IntPtr item, svn_auth_ssl_server_trust_prompt_func_t prompt_func, IntPtr prompt_batton, IntPtr pool);
1220
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
1221
[DllImport(svnclientlib)] static extern void svn_client_get_ssl_client_cert_pw_prompt_provider (IntPtr item, svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func, IntPtr prompt_batton, [MarshalAs (UnmanagedType.SysInt)] int retry_limit, IntPtr pool);
1223
[DllImport(svnclientlib)] static extern IntPtr svn_client_version();
1225
[DllImport(svnclientlib)] static extern IntPtr svn_client_create_context(out IntPtr ctx, IntPtr pool);
1227
[DllImport(svnclientlib)] static extern IntPtr svn_client_ls (out IntPtr dirents, string path_or_url,
1228
ref Rev revision, int recurse, IntPtr ctx,
1231
[DllImport(svnclientlib)] static extern IntPtr svn_client_status (IntPtr result_rev, string path, ref Rev revision,
1232
svn_wc_status_func_t status_func, IntPtr status_baton,
1233
int descend, int get_all, int update, int no_ignore,
1234
IntPtr ctx, IntPtr pool);
1236
[DllImport(svnclientlib)] static extern IntPtr svn_client_log (IntPtr apr_array_header_t_targets,
1237
ref Rev rev_start, ref Rev rev_end,
1238
int discover_changed_paths,
1239
int strict_node_history,
1240
svn_log_message_receiver_t receiver,
1241
IntPtr receiver_baton,
1242
IntPtr ctx, IntPtr pool);
1244
[DllImport(svnclientlib)] static extern IntPtr svn_time_from_cstring (out long aprtime, string time, IntPtr pool);
1246
[DllImport(svnclientlib)] static extern IntPtr svn_client_url_from_path (ref IntPtr url, string path_or_url, IntPtr pool);
1248
[DllImport(svnclientlib)] static extern IntPtr svn_client_cat2 (IntPtr stream, string path_or_url,
1249
ref Rev peg_revision,
1251
IntPtr ctx, IntPtr pool);
1253
[DllImport(svnclientlib)] static extern IntPtr svn_stream_create (IntPtr baton, IntPtr pool);
1255
//[DllImport(svnclientlib)] static extern IntPtr svn_stream_set_read (IntPtr stream, svn_readwrite_fn_t reader);
1257
[DllImport(svnclientlib)] static extern IntPtr svn_stream_set_write (IntPtr stream, svn_readwrite_fn_t writer);
1259
[DllImport(svnclientlib)] static extern IntPtr svn_client_update (IntPtr result_rev, string path, ref Rev revision,
1260
int recurse, IntPtr ctx, IntPtr pool);
1262
[DllImport(svnclientlib)] static extern IntPtr svn_client_delete (ref IntPtr commit_info_p, IntPtr apr_array_header_t_targets,
1263
int force, IntPtr ctx, IntPtr pool);
1265
[DllImport(svnclientlib)] static extern IntPtr svn_client_add3 (string path, int recurse, int force, int no_ignore, IntPtr ctx, IntPtr pool);
1267
[DllImport(svnclientlib)] static extern IntPtr svn_client_commit (ref IntPtr svn_client_commit_info_t_commit_info,
1268
IntPtr apr_array_header_t_targets, int nonrecursive,
1269
IntPtr ctx, IntPtr pool);
1271
[DllImport(svnclientlib)] static extern IntPtr svn_client_revert (IntPtr apr_array_header_t_targets, int recursive,
1272
IntPtr ctx, IntPtr pool);
1274
[DllImport(svnclientlib)] static extern IntPtr svn_client_resolved (string path, int recursive, IntPtr ctx, IntPtr pool);
1276
[DllImport(svnclientlib)] static extern IntPtr svn_client_move (ref IntPtr commit_info_p, string srcPath, ref Rev rev,
1277
string destPath, int force, IntPtr ctx, IntPtr pool);
1279
[DllImport(svnclientlib)] static extern IntPtr svn_client_checkout (IntPtr result_rev, string url, string path, ref Rev rev,
1280
int recurse, IntPtr ctx, IntPtr pool);
1282
[DllImport(svnclientlib)] static extern IntPtr svn_client_mkdir2 (ref IntPtr commit_info, IntPtr apr_array_paths, IntPtr ctx, IntPtr pool);
1284
[DllImport(svnclientlib)] static extern IntPtr svn_client_diff (IntPtr diff_options, string path1,
1285
ref Rev revision1, string path2,
1286
ref Rev revision2, int recurse,
1287
int ignore_ancestry,
1288
int no_diff_deleted,
1294
[DllImport(svnclientlib)] static extern IntPtr svn_client_merge_peg2 (string source,
1297
ref Rev peg_revision,
1298
string target_wcpath,
1300
int ignore_ancestry,
1303
IntPtr merge_options,
1308
[DllImport(svnclientlib)] static extern IntPtr svn_client_lock (IntPtr apr_array_header_t_targets, string comment, int steal_lock, IntPtr ctx, IntPtr pool);
1310
[DllImport(svnclientlib)] static extern IntPtr svn_client_unlock (IntPtr apr_array_header_t_targets, int break_lock, IntPtr ctx, IntPtr pool);
1312
[DllImport(svnclientlib)] static extern IntPtr svn_client_prop_get (out IntPtr value, string name, string target, ref Rev revision, int recurse, IntPtr ctx, IntPtr pool);
1314
[DllImport(svnclientlib)] static extern IntPtr svn_client_blame (string path, ref Rev rev_start, ref Rev rev_end, svn_client_blame_receiver_t receiver, IntPtr baton, IntPtr ctx, IntPtr pool);
1316
[DllImport(svnclientlib)] static extern void svn_strerror (int statcode, byte[] buf, int bufsize);