章 ▾ 第2版

A2.1 付録B: アプリケーションへのGitの埋め込み - コマンドラインGit

アプリケーションが開発者向けであれば、ソース管理との連携から恩恵を受ける可能性が高いでしょう。ドキュメントエディターのような開発者以外のアプリケーションでも、バージョン管理機能から恩恵を受ける可能性があり、Gitのモデルはさまざまなシナリオで非常にうまく機能します。

アプリケーションにGitを統合する必要がある場合、基本的に2つの選択肢があります。シェルを起動して`git`コマンドラインプログラムを呼び出すか、Gitライブラリをアプリケーションに組み込むかです。ここでは、コマンドライン統合と、最も人気のあるいくつかの組み込み可能なGitライブラリについて説明します。

コマンドラインGit

1つの選択肢は、シェルプロセスを起動し、Gitコマンドラインツールを使って作業を行うことです。これには、正規であるという利点があり、Gitのすべての機能がサポートされます。また、ほとんどのランタイム環境にはコマンドライン引数でプロセスを呼び出すための比較的単純な機能があるため、これは非常に簡単でもあります。ただし、このアプローチにはいくつかの欠点があります。

1つは、すべての出力がプレーンテキストであることです。これは、進行状況や結果の情報を読み取るために、Gitの時折変更される出力形式を解析する必要があることを意味し、非効率的でエラーが発生しやすくなります。

もう1つは、エラー回復の欠如です。リポジトリが何らかの形で破損したり、ユーザーが不正な設定値を持っていたりすると、Gitは多くの操作を単純に拒否します。

さらに別の欠点は、プロセス管理です。Gitでは、別のプロセスでシェル環境を維持する必要があり、不要な複雑さを増す可能性があります。これらの多くのプロセスを調整しようとすると(特に、複数のプロセスから同じリポジトリにアクセスする可能性がある場合)、かなりの課題となることがあります。

scroll-to-top