2012-03-03 22 views
6

Me gustaría implementar una tarea de Rake que automatice algunas de las tareas que tengo que hacer para mover mis cambios del desarrollo a la producción (y sí, sé que hay algo como Capistrano, y es demasiado para mí) . En el centro, hay algunos comandos interactivos como git add -i y una serie de commit y push. En el lado de la producción, habrá tareas de tiradas y activos para hacer.¿Cuál es la mejor aplicación de rubi para git?

Es tedioso escribir todo el tiempo los mismos comandos, así que me gustaría automatizarlo por completo. Lo que no he encontrado es Ruby API for Git.

que debería funcionar en Windows 7, y permitir que al menos los siguientes comandos: git add, git status, git commit, git push, git pull.

+0

Si capistrano es demasiado, ¿ha pensado en usar rastrillo en su lugar? – zsquare

+0

Bueno, eso lo he pedido en la pregunta: me gustaría implementar una tarea de Rake ... Así que la pieza que me falta es una API de Git razonable para Ruby. – mliebelt

Respuesta

5

This one parece ser bastante popular. Si está más interesado en GitHub, entonces puede consultar this one.

ACTUALIZACIÓN:

Rugged parece ser la más reciente por ahí aunque el Gem porque no se ha construido desde hace tiempo. Podría ser mejor usar la fuente de Github.

+0

Pero es bastante viejo (2.5 años sin cambios en absoluto). ¿Cuál es tu experiencia con eso? ¿Es razonable la API? ¿Lo usaste en Windows? – mliebelt

+0

Disculpa, echa un vistazo a mi actualización. No he usado ninguno de ellos, por lo que sería difícil responder el comentario de razonabilidad. – ScottJShea

+0

Después de algunos experimentos, [Git] (https://rubygems.org/gems/git) parece razonable: funciona en mi consola 'rails c', y tiene las características que yo quiero. – mliebelt

10

sé, mal hábito, pero me gustaría documentar las experiencias de este fin de semana:

  • Hay una pregunta similar sobre https://softwareengineering.stackexchange.com/questions/62843/best-ruby-git-library que los nombres de los 3 candidatos relevantes: Git, Grit y Rugged.
  • Git y Grit no se desarrollan más, Rugged está actualmente desarrollado, pero no terminado.
  • Git funciona fuera de la caja, pero tiene algunas deficiencias: deficiencias
    • Se conocen (véase el issues).
    • Tuve el problema, que los elementos añadidos y modificados no se corresponden bien, pueden estar en solo uno de los 2 estados (lo que no es cierto para Git actualmente).
    • La API es razonable y funciona bien en la consola, la secuencia de comandos de Ruby o la tarea de Rake.
  • Grit no funcionó para mí, y no encontré el motivo. Obtuve rastros de pila (niveles bajos) e intenté algunos parches que podrían ser relevantes para el uso en Windows 7, pero sin éxito.
  • Resistente no es instalable para mí, por lo que I filed a bug robusto, que obtuvo algunos comentarios. El problema parece ser que lo escabroso solo funciona para los sistemas POSIX, por lo que no es compilable con DevKit para Ruby.

Así que voy a tratar de encontrar una versión compilada de libgit2.dll para Windows 7, y tratará de usar eso. Lo hice en el pasado con sqlite3.dll, así que tal vez sea la mejor opción. Para mí, resistente es la solución más sensata, porque hay personas detrás de ese proyecto, están interesadas en ofrecer una solución que funcione en varias plataformas.

1

de julio de 2013 al día:

Parece que Rugged es la herramienta de elección en el momento.Se mantiene activamente y parece que la mayoría (todos) de los committers principales trabajan en github.

Aunque grit es el más popular y ha sido creado por uno de los fundadores de github, no ha sido tocado durante 5 meses y ha tenido poca actividad.

Ver Ruby-Toolbox para más detalles.

Cuestiones relacionadas