在使用git_revwalk
(通过Objective-Git的GTEnumerator
),我试图让最近更新的分支先订购。我打电话给gt_revwalk_push
,按提交日期排序,但它没有效果。排序,反向排序和未排序都是相同的。git_revwalk忽略推送参考的顺序?
使用GIT_SORT_TIME
没有GIT_SORT_TOPOLOGICAL
接近,但我确实需要拓扑排序,所以我设置了两个标志。
有没有办法让git_revwalk
按照我给他们的顺序使用refs?
在使用git_revwalk
(通过Objective-Git的GTEnumerator
),我试图让最近更新的分支先订购。我打电话给gt_revwalk_push
,按提交日期排序,但它没有效果。排序,反向排序和未排序都是相同的。git_revwalk忽略推送参考的顺序?
使用GIT_SORT_TIME
没有GIT_SORT_TOPOLOGICAL
接近,但我确实需要拓扑排序,所以我设置了两个标志。
有没有办法让git_revwalk
按照我给他们的顺序使用refs?
libgit2通常不会提供与git完全相同的拓扑排序,因为有多种可能的拓扑排序都是正确的。
A recent PR从git移植更多的代码使输出更稳定的其他原因,所以你使用它。指定拓扑和基于时间的排序(GIT_SORT_TOPOLOGICAL | GIT_SORT_TIME
)(相当于git rev-list
的--date-order
)将按照当前的master
对按时间请求的提示进行排序。
我对Objective-Git一无所知,但要求提供一个topo排序*和*基于时间的排序就像是要求在下午1点之前到达中午,因为1小于12.您必须放弃其中一个标准:你不能同时获得。 – torek
使用这两个标志,我会期望来自并行分支的提交相对于彼此排序。这将有可能在一定程度上不违反拓扑秩序。但无论如何,这是与我的真正问题切题。例如,我希望最新的提交应该首先出现,因为这是我首先推送的引用,而这不会发生。 – Uncommon
......当然,这是假设第一个ref指向一个没有孩子的提交,它在我的测试用例中做了。 – Uncommon