Git состоит из «сантехники» и «фарфора».Сантехнические компоненты составляют основу низкоуровневой системы: управление объектами, хранилищами, удаленными устройствами и т. Д.Фарфор, с другой стороны, означает более удобные для пользователя высокоуровневые инструменты, использующие сантехнику.
Исторически в C были реализованы только самые основные / критически важные для работы детали (в основном, сантехника), остальные использовалисьсценарии оболочки / perl.Чтобы быть более переносимым, все больше и больше кода было переписано на C.
На этом фоне я бы порекомендовал просто использовать системные вызовы исполняемого файла git для переноса на python.Рассматривайте ваш код как часть фарфора Git.По сравнению с использованием специализированной библиотеки:
PRO
- Не нужно изучать API - используйте команды
git
, с которыми вы знакомы - Полный набор инструментов - вы можете использовать фарфор и не ограничиваться низкоуровневой функциональностью
CONTRA
- Необходимо разобратьвывод командной строки из
git
вызовов. - Может быть медленнее