Git
Chapters ▾ 2nd Edition

A2.1 Appendix A: Integrando Git en tus Aplicaciones - Git mediante Línea de Comandos

Si tu aplicación es para desarrolladores, es muy probable que pueda beneficiarse de la integración con el control de código fuente. Incluso las aplicaciones que no sean para desarrolladores, tales como editores de documentos, podrían beneficiarse de las características de control de versiones, y el modelo de Git funciona muy bien para muchos escenarios diferentes.

Si necesitas integrar Git con tu aplicación, tienes básicamente tres opciones: generar un shell y usar la herramienta de línea de comandos de Git; Libgit2; y JGit.

Git mediante Línea de Comandos

Una opción es generar un proceso shell y utilizar la herramienta de línea de comandos de Git para hacer el trabajo. Esto tiene la ventaja de ser canónico, y todas las características de Git están soportadas. Esto también resulta ser bastante fácil, ya que la mayoría de los entornos de ejecución tienen una forma relativamente sencilla para invocar un proceso con argumentos de la línea de comandos. Sin embargo, este enfoque tiene algunas desventajas.

Una es que toda la salida es un texto plano. Esto significa que tendrás que analizar el formato de salida cambiante de Git para leer la información de progreso y de resultado, lo que puede ser ineficiente y propenso a errores.

Otra es la falta de recuperación de errores. Si un repositorio está dañado de alguna manera, o el usuario tiene un valor de configuración con formato incorrecto, Git simplemente se negará a realizar muchas operaciones.

Otra más es la gestión de procesos. Git requiere que mantengas un entorno de shell en un proceso separado, lo que puede añadir complejidad no deseada. Tratar de coordinar muchos de estos procesos (especialmente cuando se accede potencialmente el mismo repositorio de varios procesos) puede ser todo un reto.