Пример #1
0
 internal GitCommit(GitRepository repository, GitObjectBucket objectReader, GitId id)
     : base(repository, id)
 {
     _rb = new GitCommitObjectBucket(objectReader);
 }
Пример #2
0
        internal static async ValueTask <GitObject> FromBucketAsync(GitRepository repository, GitObjectBucket rdr, GitId id, GitObjectType type = GitObjectType.None)
        {
            GitObjectType tp;

            if (type == GitObjectType.None)
            {
                tp = await rdr.ReadTypeAsync().ConfigureAwait(false);
            }
            else
            {
                tp = type;
            }

            switch (tp)
            {
            case GitObjectType.Commit:
                return(new GitCommit(repository, rdr, id));

            case GitObjectType.Tree:
                return(new GitTree(repository, rdr, id));

            case GitObjectType.Blob:
                return(new GitBlob(repository, rdr, id));

            case GitObjectType.Tag:
                return(new GitTagObject(repository, rdr, id));

            default:
                throw new ArgumentOutOfRangeException(nameof(type));
            }
        }
Пример #3
0
 internal GitTagObject(GitRepository repository, GitObjectBucket rdr, GitId id)
     : base(repository, id)
 {
     _rb = new GitTagObjectBucket(rdr);
 }