Получить все репо коммиты используя pygit2 с svn репозиториями

Теперь я использую git svn для клонирования репозиториев, когда я хочу получить все их коммиты и сохранить их в БД.

Для получения всех коммитов я использую pygit2.Repository но я вижу, что я получаю только коммиты из ветки '/trunk/'.

Если я использую git branch -a в терминале я вижу все ветви:

* master
  remotes/origin/test-1
  remotes/origin/test-1@468
  remotes/origin/trunk

И когда я делаю git log remotes/origin/test-1 Я вижу результат с правильными коммитами.

Но когда я пытаюсь получить все коммиты из репо, используя pygit2.Repository я получаю коммиты только из транка, а не из других филиалов - можете ли вы посоветовать мне способ получения коммитов из филиалов? Может быть, я не должен использовать pygit2, но использовать какой-то другой модуль Python?

используя repo.listall_branches(2) я вижу, что pygit2 видит эти ветви:

['origin/test-1', 'origin/trunk', 'origin/test-1@468']

но когда я пытаюсь сделать repo.lookup_branch('origin/test-1') или же repo.lookup_branch('remote/origin/test-1') я получаю None вместо pygit2.Branch объекты

и когда я делаю

head = repo.lookup_branch('master').get_object()
for native_commit in repo.walk(head.hex):
    print(i)

я получаю только коммиты от trunk, Пожалуйста, скажите мне правильный способ получать все коммиты из всех филиалов, а не только коммиты от trunk,

1 ответ

Решение

Согласно документации на http://www.pygit2.org/references.html, repo.branches должен дать вам все филиалы, локальные и удаленные.

Другие вопросы по тегам