Git
Chapters ▾ 2nd Edition

A2.1 Appendix B: Embarquer Git dans vos applications - Git en ligne de commande

Si votre application est destinée aux développeurs, il y a de grandes chances qu’elle bénéficierait de l’intégration avec une gestion de source. Même des applications pour non-développeurs, tels que les éditeurs de document, pourraient potentiellement bénéficier d’une fonctionnalité de gestion de version et le modèle de Git fonctionne très bien dans de nombreux scénarios.

Si vous devez intégrer Git avec votre application, vous avez essentiellement trois choix : démarrer une invite et utiliser la ligne de commande Git, Libgit2 et JGit.

Git en ligne de commande

Une possibilité consiste à démarrer un processus d’invite de commande et à utiliser la ligne de commande Git pour agir. Cette méthode a le bénéfice d’être canonique et toutes les fonctionnalités de Git sont supportées. Cela s’avère aussi assez facile, du fait que la plupart des environnements d’exécution disposent d’une interface relativement simple permettant d’invoquer un processus avec des arguments en ligne de commande. Cependant, cette approche a quelques inconvénients.

L’un est que toutes les sorties sont en pur texte. Cela signifie que vous aurez à analyser le format de sortie de Git qui peut occasionnellement changer pour lire l’information d’avancée et de résultat, ce qui peut être inefficace et introduire des erreurs.

Un autre est l’absence de récupération sur erreur. Si le dépôt est corrompu d’une manière quelconque ou si l’utilisateur a une valeur de configuration malformée, Git va simplement refuser d’opérer beaucoup d’opérations.

Un autre encore est la gestion de processus. Git vous oblige à maintenir un environnement de ligne de commande dans un processus séparé, ce qui peut ajouter une complexité indésirable. Essayer de coordonner un certain nombre de tels processus est un problème épineux (spécialement quand on accède au même dépôt depuis plusieurs processus).