internal void Detach(bool keepProperties) { try { if (keepProperties) { GC.KeepAlive(Name); GC.KeepAlive(FullPath); GC.KeepAlive(PropertyName); GC.KeepAlive(MimeType); GC.KeepAlive(BaseFile); GC.KeepAlive(TheirFile); GC.KeepAlive(MyFile); GC.KeepAlive(MergedFile); GC.KeepAlive(PropertyRejectFile); GC.KeepAlive(LeftSource); GC.KeepAlive(RightSource); } _leftOrigin?.Detach(keepProperties); _rightOrigin?.Detach(keepProperties); } finally { _description = null; _pool = null; } }
// BH: Note svn_wc_conflict_description_t is also mapped by SvnConflictData // for the non-event case internal SvnConflictEventArgs(svn_wc_conflict_description2_t description, AprPool pool) { if (description == null) { throw new ArgumentNullException(nameof(description)); } if (pool == null) { throw new ArgumentNullException(nameof(pool)); } _description = description; _pool = pool; _result = SvnAccept.Postpone; }
internal SvnConflictData(svn_wc_conflict_description2_t description, AprPool pool) { if (description == null) { throw new ArgumentNullException(nameof(description)); } if (pool == null) { throw new ArgumentNullException(nameof(pool)); } _description = description; _pool = pool; IsBinary = description.is_binary; NodeKind = (SvnNodeKind)description.node_kind; ConflictAction = (SvnConflictAction)description.action; ConflictReason = (SvnConflictReason)description.reason; ConflictType = (SvnConflictType)description.kind; Operation = (SvnOperation)description.operation; }