在使用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