Как получить URL Gerrit после загрузки git с помощью gitpython? - PullRequest
0 голосов
/ 26 июня 2018
repo=Repo.clone_from(my_repo,'/path/to/clone')
git=repo.git
#cd to repo and do some update to my_file
git.add([my_file])
git.commit("My commit message")
#Upload to gerrit
git.push("origin","HEAD:refs/for/master")

Это работает, я следовал gitPython doc, но не уверен, как получить номер gerrit после загрузки, мне нужно сделать проверенный разработчиком на том же git.push, просто возвращая пустую строку.

Blockquote

1 Ответ

0 голосов
/ 27 июня 2018

Вам нужно передать with_extended_output=True в git.push() и использовать кортеж (status, stdout, stderr), чтобы получить вывод.

status,out,err = git.push("origin","HEAD:refs/for/master",with_extended_output=True)

Номер и URL можно найти в err, если status == 0. err - это строка, и вам нужно проанализировать ее, чтобы получить точное число.

with_extended_output по умолчанию False. Это относится ко всем git.xxx() методам. Эти методы вызывают execute . Подробнее см. По ссылке.

...