2017-02-09 20 views
0

Есть ли способ показать все распущенные коммиты из всех доступных ветвей с libgit 2. Моя идея заключалась в использовании git_revparse (& spec, repo, «origin/master..master»); но это дает мне git_revspec, и я не знаю, как использовать его для перебора всех коммитов. Другая проблема заключается в том, что этот метод предназначен только для конкретной ветви.Получите unpushed коммиты с libgit2

ответ

2

Используйте функции git_branch_iterator, чтобы получить все филиалы и git_branch_upstream, чтобы получить соответствующее направление. Затем используйте функции git_revwalk, чтобы пройти через все коммиты, которые отличаются друг от друга. Нажмите вверх по течению git_revwalk_push_ref и скройте локальную ветвь с git_revwalk_hide_ref.