internal Blob(Repository repo, ObjectId id) : base(repo, id) { }
internal Blob(Repository repo, ObjectId id, byte[] blob) : base(repo, id) { _blob = blob; }
internal Commit(Repository repo, ObjectId id) : base(repo, id) { }
internal Tag(Repository repo, ObjectId id, string name) : base(repo, id) { _name = name; }
internal AbstractObject(Repository repo, string name) { _repo = repo; _id = _repo._internal_repo.Resolve(name); }
internal AbstractObject(Repository repo, ObjectId id) { _repo = repo; _id = id; }
internal ObjectId _id; // <--- the git object is lazy loaded. only a _id is required until properties are accessed. internal AbstractObject(Repository repo, ObjectId id) { _repo = repo; _id = id; }
internal Tree(Repository repo, ObjectId id) : base(repo, id) { }