Вот очень специфический вопрос, но я ищу немного более общее решение :
Я пишу сценарий оболочки на Python, чтобы помочь в различных задачах конфигурации, включаявыполнение git clone
различных репозиториев.Когда я звоню git clone
, есть ли хороший способ для меня выводить вывод дисплея git прямо на терминал (индикаторы выполнения и т. Д.)?
Простая передача stdout подпроцесса в sys.stdout не обрезает его, потому что поведение git
предполагает перезапись поверх той же части терминала, чтобы показать прогресс.Так что это не совсем хорошо:
import sys, subprocess
process = subprocess.Popen("git clone --recursive https://github.com/my/repo.git",
shell=True,
stdout=sys.stdout,
stderr=subprocess.PIPE)
Я не ищу ответа "use git-python " - скорее, я ищу более общееТехника, которую я могу применить к этой и другим задачам конфигурации.
Спасибо!