git_revwalk игнорирует порядок нажатых ссылок?
В использовании git_revwalk
(через Objective-Git's GTEnumerator
), Я пытаюсь получить более недавно обновленные ветки, заказанные в первую очередь. Я зову gt_revwalk_push
с ссылками, отсортированными по дате фиксации, но это не имеет никакого эффекта. Сортировка, обратная сортировка и несортированная все получаются одинаковыми.
С помощью GIT_SORT_TIME
без GIT_SORT_TOPOLOGICAL
подходит близко, но мне нужен топологический порядок, поэтому я устанавливаю оба флага.
Есть ли способ получить git_revwalk
использовать ссылки в порядке, который я им даю?
1 ответ
libgit2 часто не обеспечивает такой же топологической сортировки, как git, так как существует несколько возможных топологических сортировок, которые являются правильными.
Недавний PR портировал больше кода из git, чтобы сделать вывод более согласованным по другим причинам, так что вы воспользуетесь этим. Указание топологической и временной сортировки (GIT_SORT_TOPOLOGICAL | GIT_SORT_TIME
), эквивалентно git rev-list
"s --date-order
отсортирует запрошенные вами подсказки по времени с текущей master
,