Git python API возвращает неверное имя ветки при использовании тега - PullRequest
1 голос
/ 09 октября 2019

Я пытаюсь оформить ветку с тегом, который ссылается на коммит. Я получаю сообщение об ошибке, что имя ветви недопустимо, потому что оно пытается принять имя тега как часть моей ветви. Я использую GitPython, который просто использует python git api

имя тега v1.1

self.repo.git.checkout("-b test_1.1 v1.1")

Это ошибка, которую я получаю:

Traceback (most recent call last):
  File "base.py", line 126, in <module>
    x.checkoutVersion()
  File "base.py", line 118, in checkoutVersion
    self.repo.git.checkout("-b test_1.1 v1.1")
  File "/Library/Python/2.7/site-packages/git/cmd.py", line 545, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/git/cmd.py", line 1014, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/Library/Python/2.7/site-packages/git/cmd.py", line 825, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git checkout -b test_1.1 v1.1
  stderr: 'fatal: ' test_1.1 v1.1' is not a valid branch name.'

Я могу нормально запустить эту команду в терминале, я не знаю, почему она не работает при запуске через API

Я использую Python 2.7.10

1 Ответ

0 голосов
/ 09 октября 2019

Вы можете попытаться разделить аргументы, как показано в « Переключение ветвей »:

self.repo.git.checkout('-b', 'test_1.1', 'v1.1')
...