Найти - Пользователи
Полная версия: python и работа с git
Начало » Python для новичков » python и работа с git
1
polin11
Вроде бы простая задача - написать скрипт, который, выдаст автора ветки в удаленном репозитории в git'е.
Какая питоновская библиотека подойдет для этого лучше? Если кто-то заморачивался такой же задачей и у него есть результат, прошу поделиться наработками.
py.user.next
У ветки в git нет автора. Автор есть у коммита, а ветка - это просто указатель, выставленный на коммит.

polin11
Вроде бы простая задача - написать скрипт, который, выдаст автора ветки
Опиши, как ты используешь этот скрипт (как будто он есть уже). Откуда ты знаешь, какие там ветки есть?
polin11
Решил попробовать обойтить модулем subprocess, написал такой скрипт

 import os, subprocess
#клонируем репозиторий
url =  'git@git.my.ru:folder1/folder2.git'
subprocess.check_call(["git", "clone", url])
#переходим в получившийся каталог"
os.system("cd \folder2")

В каталоге много файлов, мне нужно по конкретному файлу вызвать git log
В консоле я бы сделал git log file1.txt
Как это сделать в python не могу сообразить, пробовал
 subprocess.check_call(["git", "log", "file1.txt"])
не получилось, подскажите как это делается?
polin11
Ау, есть кто живой?
Разобрался с задачей при помощи клонирования репозитория,
но репозиторий достаточно большой, клонирование занимает определённое время и место на диске,
возможно ли отправить в github какой-нибудь запрос, и получить автора последнего коммита, изменившего определенный файл?
py.user.next
polin11
возможно ли отправить в github какой-нибудь запрос
На GitHub можно и через Web узнать это. Но репозитории GitHub'ом не ограничиваются и по протоколу HTTPS может просто не быть доступа. Так что выкачивать репозиторий (в первый раз) или докачивать репозиторий (в последующие разы), а потом в нём искать нужную инфу - это оптимальное решение. Ты не можешь получить сводку по коммитам, запросив её у сервера, ты можешь только скачать все коммиты и поискать в них инфу. Если же сервер предоставляет другой интерфейс, типа HTTPS или другого (а такие есть), то ты можешь пробовать сначала через него получить инфу, но и этот интерфейс тоже не гарантирует, что там одно и то же веб-приложение будет, так как на HTTPS могут разные программы торчать для управления репозиториями. Так что для тебя только общий вариант подходит, так как ты не программист и программу посложнее ста строк не разработаешь ввиду отсутствия необходимых навыков проектирования.
Rodegast
Первая ссылка в гугле: https://gitpython.readthedocs.io/en/stable/tutorial.html
py.user.next
Rodegast
Первая ссылка в гугле: https://gitpython.readthedocs.io/en/stable/tutorial.html
Это для работы с локальным репозиторием. С локальным репозиторием он может работать и через программу git.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB