Какой лучший ruby ​​API для Git? - PullRequest
6 голосов
/ 03 марта 2012

Я хотел бы реализовать задачу Rake, которая автоматизирует некоторые из задач, которые я должен выполнить, чтобы перенести мои изменения из разработки в производство (и да, я знаю, что есть что-то вроде Capistrano, и это слишком много для меня).В центре есть несколько интерактивных команд, таких как git add -i и серия коммитов и толчков.С производственной стороны будут задачи по извлечению и активам.

Утомительно постоянно вводить одни и те же команды, поэтому я хотел бы полностью автоматизировать их.То, что я не нашел, это Ruby API для Git.

Он должен работать под Windows 7 и разрешать по крайней мере следующие команды: git add, git status, git commitgit push 1012

Ответы [ 3 ]

10 голосов
/ 05 марта 2012

Я знаю, плохая привычка, но я хотел бы задокументировать события этих выходных:

  • Есть похожий вопрос по https://softwareengineering.stackexchange.com/questions/62843/best-ruby-git-library, в котором названы 3 соответствующих кандидата: Git , Grit и Rugged .
  • Git и Grit больше не разрабатываются, Rugged в настоящее время разрабатывается, но еще не закончен.
  • Git работает из коробки, но имеет некоторые недостатки:
    • Есть известные недостатки (см. проблемы ).
    • У меня была проблема, что добавленные и измененные элементы плохо сопоставлены, они могут находиться только в одном из 2 состояний (что в настоящий момент не относится к Git).
    • API является разумным и хорошо работает в консоли, скрипте Ruby или задаче Rake.
  • Песчинка у меня совсем не сработала, и я не нашел причину. Я получил трассировки стека (низкоуровневые) и попробовал несколько патчей, которые могли бы пригодиться для использования в Windows 7, но безуспешно.
  • Rugged для меня не устанавливается, поэтому я сообщил об ошибке в Rugged, получив некоторую обратную связь. Кажется, проблема в том, что защищенный работает только для систем POSIX, поэтому он не компилируется с DevKit для Ruby.

Поэтому я попытаюсь найти скомпилированную версию libgit2.dll для Windows 7 и попытаюсь ее использовать. Я делал это в прошлом с sqlite3.dll, так что, возможно, это лучшая попытка. Для меня надежное решение - самое разумное решение, потому что за этим проектом стоят люди, которые заинтересованы в создании решения, которое работает на кроссплатформенности.

5 голосов
/ 03 марта 2012

Этот кажется довольно популярным.Если вас больше интересует GitHub, вы можете посмотреть этот .

ОБНОВЛЕНИЕ:

Прочный , кажется, самый новыйтам, хотя Gem для него не был построен в течение некоторого времени.Лучше всего использовать источник из Github.

1 голос
/ 01 августа 2013

Июль 2013 обновление:

Похоже, Rugged на данный момент является предпочтительным инструментом. Он активно поддерживается, и похоже, что большинство (все) основные коммиттеры работают на github.

Несмотря на то, что grit является самым популярным и создан одним из основателей github, его не трогали в течение 5 месяцев и он мало работал.

Подробнее см. Ruby-Toolbox .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...