Git
Chapters ▾ 2nd Edition

A2.1 Appendix B: Вметнување на Git во вашите апликации - Command-line Git

Ако вашата апликација е за програмери, шансите се добри што би можеле да имаат корист од интеграцијата со изворната контрола. Дури и програмите кои не се програмери, како уредувачите на документи, потенцијално може да имаат корист од функциите за контрола на верзијата, а модел на Git работи многу добро за многу различни сценарија.

Ако треба да го интегрирате Git со вашата апликација, имате суштински две опции: подигнете школка и јавете се на програмата git од командната линија, или вметнете библиотека Git во вашата апликација. Овде ќе ги опфатиме интеграциите на командната линија и неколку од најпопуларните Git библиотеки за вградување.

Command-line Git

One option is to spawn a shell process and use the Git command-line tool to do the work. This has the benefit of being canonical, and all of Git’s features are supported. This also happens to be fairly easy, as most runtime environments have a relatively simple facility for invoking a process with command-line arguments. However, this approach does have some downsides.

One is that all the output is in plain text. This means that you’ll have to parse Git’s occasionally-changing output format to read progress and result information, which can be inefficient and error-prone.

Another is the lack of error recovery. If a repository is corrupted somehow, or the user has a malformed configuration value, Git will simply refuse to perform many operations.

Yet another is process management. Git requires you to maintain a shell environment on a separate process, which can add unwanted complexity. Trying to coordinate many of these processes (especially when potentially accessing the same repository from several processes) can be quite a challenge.