using System; namespace LibGit2Sharp { /// /// Underlying type of a /// public enum GitObjectType { /// /// Object can be of any type. /// Any = -2, /// /// Object is invalid. /// Bad = -1, /// /// Reserved for future use. /// Ext1 = 0, /// /// A commit object. /// Commit = 1, /// /// A tree (directory listing) object. /// Tree = 2, /// /// A file revision object. /// Blob = 3, /// /// An annotated tag object. /// Tag = 4, /// /// Reserved for future use. /// Ext2 = 5, /// /// A delta, base is given by an offset. /// OfsDelta = 6, /// /// A delta, base is given by object id. /// RefDelta = 7 } internal static class GitObjectTypeExtensions { public static TreeEntryTargetType ToTreeEntryTargetType(this GitObjectType type) { switch (type) { case GitObjectType.Commit: return TreeEntryTargetType.GitLink; case GitObjectType.Tree: return TreeEntryTargetType.Tree; case GitObjectType.Blob: return TreeEntryTargetType.Blob; default: throw new InvalidOperationException(string.Format("Cannot map {0} to a TreeEntryTargetType.", type)); } } } }