git emacs github magit

La extensión magit/github más desarrollada para emacs para solicitudes de extracción



(2)

Eventualmente implementaré esas cosas en Magit (soy el mantenedor), pero primero tengo que sacar un comunicado.

Lamentablemente, actualmente tampoco hay extensiones de terceros que puedan cumplir este rol. magithub se ha roto desde hace mucho tiempo. magit-gh-pulls (por Yann, mi predecesor como mantenedor de Magit) tampoco se mantuvo sincronizado con los cambios en Magit. Intenté arreglarlo hace algún tiempo, pero lo dejé cuando quedó claro que hacerlo daría como resultado una reescritura completa. gh.el también está escrito por Yann y es usado por magit-gh-pulls . He contribuido a ello en el pasado, pero finalmente dejé de usarlo porque (a) usa url.el y resultó ser muy poco confiable (b) es demasiado complejo.

Así que me temo que actualmente no hay un paquete que haga lo que quieres. Si desea escribirlo usted mismo, le recomiendo que use request.el y luego solo implemente las partes de la API de Github que realmente necesita, para evitar la ingeniería excesiva.

Edit: a partir de octubre de 2015, magit-gh-pulls se magit-gh-pulls nuevamente, pero ya no es una extensión oficial. Personalmente no lo uso, ya que creo que debería hacerlo más o menos. Actualmente utilizo "menos" en forma de magit-branch-pull-request de magit-branch-pull-request de magit-rockstar biblioteca de magit-rockstar . Aunque mantengo esa biblioteca, no la considero una extensión oficial, se proporciona tal como está. Esa función es muy básica, le das un número de problema y crea una rama para ti, eso es todo.

Edición en septiembre de 2016: he escrito ghub.el y glab.el como sustitutos de gh.el Están destinados principalmente para mi uso personal y ofrecen muy poco, básicamente te dan funciones como ghub-get (resource &optional params data noerror) , luego debes consultar la documentación correspondiente de la API para averiguar qué resource , params , y los data que tiene que utilizar. Además, el manejo de errores no es excelente y actualmente utiliza url.el Tengo la intención de mejorar ambos finalmente utilizando libcurl algún tiempo después de que se haya lanzado un Emacs con soporte de seguridad.

Estoy especialmente interesado en las solicitudes de extracción, edición de problemas y vinculación con los compromisos, y otras cosas para las que generalmente tengo que usar el concentrador en la línea de comandos . Sin embargo, comencé a usar Magit y realmente me gustan las combinaciones de teclas y la interfaz general. También me gustaría permanecer en emacs para esta parte, en lugar de tener que mantener un shell adicional abierto para solicitudes de extracción, problemas, etc.

Los paquetes que podrían agregar la mayor funcionalidad de github a magit que pude encontrar son:

¿Puede alguien, posiblemente involucrado en estos proyectos, recomendar cómo se compararía y qué podría ser mejor para integrar las solicitudes de extracción en un entorno de Magit?


Puede obtener soporte Github "manual" simple configurando magit-git-executable en "hub" . Luego puede usar todos los comandos y características del magit-git-command través de magit-git-command (enlazado a : en los buffers de Magit). Esto al menos te permite interactuar con Github a través de Emacs / Magit.

Aunque tenga en cuenta que a partir de este escrito, esto no funcionará porque la versión de lanzamiento de hub no reconoce la opción --literal-pathspecs , que utiliza Magit ( consulte aquí ). Entonces, hasta la próxima versión, debe instalar el concentrador desde la fuente más reciente: https://github.com/github/hub#source