internal void Detach(bool keepProperties) { try { if (keepProperties) { GC.KeepAlive(CopyFromPath); } } finally { _changed_path = null; } }
internal unsafe SvnChangeItem(string path, svn_log_changed_path2_t changed_path) { if (string.IsNullOrEmpty(path)) { throw new ArgumentNullException(nameof(path)); } if (changed_path == null) { throw new ArgumentNullException(nameof(changed_path)); } _changed_path = changed_path; Path = path; Action = (SvnChangeAction)changed_path.action; _copyFromPath = SvnBase.Utf8_PtrToString(changed_path.copyfrom_path); CopyFromRevision = changed_path.copyfrom_path != null ? changed_path.copyfrom_rev : -1; NodeKind = (SvnNodeKind)changed_path.node_kind; switch (changed_path.text_modified) { case svn_tristate_t.svn_tristate_false: ContentModified = false; break; case svn_tristate_t.svn_tristate_true: ContentModified = true; break; } switch (changed_path.props_modified) { case svn_tristate_t.svn_tristate_false: PropertiesModified = false; break; case svn_tristate_t.svn_tristate_true: PropertiesModified = true; break; } }