LibGit2Sharp.Commit.RetrieveParentsOfCommit C# (CSharp) Method

RetrieveParentsOfCommit() private method

private RetrieveParentsOfCommit ( LibGit2Sharp.Core.GitOid oid ) : IEnumerable
oid LibGit2Sharp.Core.GitOid
return IEnumerable
        private IEnumerable<Commit> RetrieveParentsOfCommit(GitOid oid)
        {
            IntPtr obj;
            int res = NativeMethods.git_object_lookup(out obj, repo.Handle, ref oid, GitObjectType.Commit);
            Ensure.Success(res);

            var parentsOfCommits = new List<Commit>();

            try
            {
                uint parentsCount = NativeMethods.git_commit_parentcount(obj);

                for (uint i = 0; i < parentsCount; i++)
                {
                    IntPtr parentCommit;
                    res = NativeMethods.git_commit_parent(out parentCommit, obj, i);
                    Ensure.Success(res);
                    parentsOfCommits.Add((Commit)CreateFromPtr(parentCommit, ObjectIdOf(parentCommit), repo));
                }
            }
            finally
            {
                NativeMethods.git_object_close(obj);
            }

            return parentsOfCommits;
        }