internal SvnStatusEventArgs(sbyte *path, svn_client_status_t status, SvnClientContext client, AprPool pool) { if (path == null) { throw new ArgumentNullException(nameof(path)); } if (status == null) { throw new ArgumentNullException(nameof(status)); } if (pool == null) { throw new ArgumentNullException(nameof(pool)); } _pPath = path; _status = status; _pool = pool; _client = client; Versioned = status.versioned; Conflicted = status.conflicted; NodeKind = (SvnNodeKind)status.kind; FileLength = (status.filesize >= 0) ? status.filesize : -1; LocalNodeStatus = (SvnStatus)status.node_status; LocalTextStatus = (SvnStatus)status.text_status; LocalPropertyStatus = (SvnStatus)status.prop_status; Wedged = status.wc_is_locked; LocalCopied = status.copied; Revision = status.revision; LastChangeRevision = status.changed_rev; LastChangeTime = SvnBase.DateTimeFromAprTime(status.changed_date); Switched = status.switched; IsFileExternal = status.file_external; Depth = (SvnDepth)status.depth; RemoteNodeStatus = (SvnStatus)status.repos_node_status; RemoteTextStatus = (SvnStatus)status.repos_text_status; RemotePropertyStatus = (SvnStatus)status.repos_prop_status; RemoteUpdateRevision = status.ood_changed_rev; if (status.ood_changed_rev != -1) { RemoteUpdateCommitTime = SvnBase.DateTimeFromAprTime(status.ood_changed_date); RemoteUpdateNodeKind = (SvnNodeKind)status.ood_kind; } }
internal SvnClientContext(AprPool pool, SvnClientContext client) { if (client is null) { throw new ArgumentNullException(nameof(client)); } _ctxBaton = new AprBaton <SvnClientContext>(this); _pool = pool; _parent = client; _ctx = client.CtxHandle; _authentication = client.Authentication; }
protected internal override void Detach(bool keepProperties) { try { if (keepProperties) { // Use all properties to get them cached in .Net memory GC.KeepAlive(FullPath); GC.KeepAlive(Path); GC.KeepAlive(LastChangeAuthor); GC.KeepAlive(RepositoryRoot); GC.KeepAlive(RepositoryIdValue); GC.KeepAlive(Uri); GC.KeepAlive(LocalLock); GC.KeepAlive(ChangeList); GC.KeepAlive(RemoteLock); GC.KeepAlive(RemoteUpdateCommitAuthor); GC.KeepAlive(WorkingCopyInfo); GC.KeepAlive(MovedFrom); GC.KeepAlive(MovedTo); } if (_localLock != null) { _localLock.Detach(keepProperties); } if (_reposLock != null) { _reposLock.Detach(keepProperties); } if (_wcInfo != null) { _wcInfo.Detach(keepProperties); } } finally { _pPath = null; _status = null; _pool = null; _client = null; base.Detach(keepProperties); } }
internal static SvnCommittedEventArgs Create(SvnClientContext client, svn_commit_info_t commitInfo, AprPool pool) { if (client == null) { throw new ArgumentNullException(nameof(client)); } if (pool == null) { throw new ArgumentNullException(nameof(pool)); } if (commitInfo == null || (commitInfo.revision <= 0L)) { return(null); } return(new SvnCommittedEventArgs(commitInfo, pool)); }
internal SvnWorkingCopyInfo(svn_client_status_t status, SvnClientContext client, AprPool pool) { if (status == null) { throw new ArgumentNullException(nameof(status)); } else if (client == null) { throw new ArgumentNullException(nameof(client)); } else if (pool == null) { throw new ArgumentNullException(nameof(pool)); } _client = client; _status = status; _pool = pool; }
internal SvnClientConfiguration(SvnClientContext client) { _client = client ?? throw new ArgumentNullException(nameof(client)); }