使用 LibGit2Sharp 查找 sha 提交的正确方法

Les*_*zur 4 c# git libgit2sharp

存储库有几种类型的提交:

  1. 作为分支头的提交
  2. 作为标签引用的提交
  3. 第 1、2 和 3 点提交的父级。

如何正确查找 SHA 编号的提交?

我当前的解决方案:

return (Commit)repo.ObjectDatabase
  .First(o =>
    o.GetType() == typeof(Commit) &&
    o.Sha.Equals(shortSha, StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)

我当前的解决方案迭代所有 git 对象,并且搜索需要一段时间。

我想这里一定有更好的方法。

小智 6

return repo.Lookup<Commit>(sha);
Run Code Online (Sandbox Code Playgroud)