Я пытаюсь извлечь данные из github с помощью pydriller.
В качестве примера я использую репозиторий pydriller. Я могу извлечь все коммиты из мастера, но когда я добавляю аргумент only_in_branch
для извлечения другой ветки, выдается такая ошибка.
for commit in RepositoryMining(path_to_repo=path,only_in_branch = "pydriller2").traverse_commits():
File "C:\Users\cansa\Desktop\gamehunteralfa\venv\lib\site-packages\pydriller\repository_mining.py", line 220, in traverse_commits
for commit in git_repo.get_list_commits(rev, **kwargs):
File "C:\Users\cansa\Desktop\gamehunteralfa\venv\lib\site-packages\pydriller\git_repository.py", line 114, in get_list_commits
for commit in self.repo.iter_commits(rev=rev, **kwargs):
File "C:\Users\cansa\Desktop\gamehunteralfa\venv\lib\site-packages\git\objects\commit.py", line 277, in _iter_from_process_or_stream
finalize_process(proc_or_stream)
File "C:\Users\cansa\Desktop\gamehunteralfa\venv\lib\site-packages\git\util.py", line 329, in finalize_process
proc.wait(**kwargs)
File "C:\Users\cansa\Desktop\gamehunteralfa\venv\lib\site-packages\git\cmd.py", line 408, in wait
raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
cmdline: git rev-list --reverse pydriller2 --
stderr: 'fatal: bad revision 'pydriller2'
'
Есть две ветки master и pydriller2, но я не могу извлечь коммиты из pydriller2.
for commit in RepositoryMining(path_to_repo=path,only_in_branch = "pydriller2").traverse_commits():
print(str(commit.hash)+" "+str(commit.branches))
Можете ли вы помочь мне с этой проблемой, пожалуйста?
Возможно, вы пропустили origin
, измените на only_in_branch='origin/pydriller2'
В вашем вопросе отсутствует минимальный воспроизводимый пример.