Я ищу Ruby или реализацию Python клиента Мерзавца, который может использоваться, чтобы обновить и фиксировать изменения в локальном репозитории.
Я предпочитаю, если библиотека не использует команды оболочки вообще, но сохраняет все в "чистом коде".
Есть ли кто-либо?
Заранее спасибо.
Там же Dulwich , реализация Python форматов файлов Git и протоколов.
Grit дает вам объектно-ориентированный доступ для чтения / записи к репозиториям Git через Ruby.
require 'grit'
include Grit
repo = Repo.new("/Users/tom/dev/grit")
repo.commits
# => [#<Grit::Commit "e80bbd2ce67651aa18e57fb0b43618ad4baf7750">,
#<Grit::Commit "91169e1f5fa4de2eaea3f176461f5dc784796769">,
#<Grit::Commit "038af8c329ef7c1bae4568b98bd5c58510465493">,
#<Grit::Commit "40d3057d09a7a4d61059bca9dca5ae698de58cbe">,
#<Grit::Commit "4ea50f4754937bf19461af58ce3b3d24c77311d9">]
...
Для Python существует библиотека Dulwich, которую уже упомянул @RyanWilcox.
Для Ruby, к сожалению, нет библиотеки Git. Есть Grit, которая реализует подмножество Git в Ruby и обертывает инструменты командной строки для некоторых дополнительных возможностей, но поддерживает только то подмножество Git, которое нужно GitHub. Также вы можете использовать JGit или Git# через JRuby или IronRuby.