Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在git2go(libgit2)中查找包含指定blob对象的提交_Git_Go_Libgit2 - Fatal编程技术网

在git2go(libgit2)中查找包含指定blob对象的提交

在git2go(libgit2)中查找包含指定blob对象的提交,git,go,libgit2,Git,Go,Libgit2,给定一个blob对象,如何找到包含该对象的(第一个)提交 我认为一个解决方案是从分支的顶端开始revwalk,沿着图走下去,检查每个提交的树,并使用类似于git\u tree\u entry\u byid的东西查看它是否包含您的对象。这将发现可以从特定分支访问提交,但在我的情况下,这是一个解决方案 有更好的方法吗?如果要检查某个对象是否包含在特定的提交中,唯一的方法是沿着对象图向下走,看看它是否存在 但是,有一种方法可以重复使用其中的一些搜索。如果您区分一对提交,并且您知道所讨论的对象包含(或不

给定一个blob对象,如何找到包含该对象的(第一个)提交

我认为一个解决方案是从分支的顶端开始revwalk,沿着图走下去,检查每个提交的树,并使用类似于
git\u tree\u entry\u byid
的东西查看它是否包含您的对象。这将发现可以从特定分支访问提交,但在我的情况下,这是一个解决方案


有更好的方法吗?

如果要检查某个对象是否包含在特定的提交中,唯一的方法是沿着对象图向下走,看看它是否存在

但是,有一种方法可以重复使用其中的一些搜索。如果您区分一对提交,并且您知道所讨论的对象包含(或不包含)在其中一个提交中,那么您可以查看该差异,查看提交树中该blob的出现/消失情况,这将避免走下相同的树


git支持可达性位图,这使得它非常快速,但libgit2不支持读取它们。

如果要检查某个对象是否包含在某个特定的提交中,唯一的方法是沿着对象图查看它是否存在

但是,有一种方法可以重复使用其中的一些搜索。如果您区分一对提交,并且您知道所讨论的对象包含(或不包含)在其中一个提交中,那么您可以查看该差异,查看提交树中该blob的出现/消失情况,这将避免走下相同的树


git支持可达性位图,这使其速度相当快,但libgit2不支持读取它们。

这可能与“是”几乎完全相同,但解决方案使用的是git cli而不是libgit或git2go,这与问题中的想法基本相同。这可能与问题中的想法完全相同,但解决方案使用的是git cli,而不是libgit或git2go,这与问题中的想法基本相同。