Получить все репо коммиты используя 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
должен дать вам все филиалы, локальные и удаленные.