Git
English ▾ トピック ▾ 最新バージョン ▾ git-remote-ext 最終更新日: 2.43.0

NAME

git-remote-ext - 外部コマンドへのスマートトランスポートのブリッジ。

SYNOPSIS

git remote add <nick> "ext::<command>[ <arguments>…​]"

DESCRIPTION

このリモートヘルパーは、指定された<command>を使用して、リモートGitサーバーに接続します。

指定された<command>の標準入力に書き込まれたデータは、git://サーバー、git-upload-pack、git-receive-pack、またはgit-upload-archive(状況に応じて)に送信されると想定され、<command>の標準出力から読み取られたデータは、同じサービスから受信されると想定されます。

コマンドと引数は、エスケープされていないスペースで区切られます。

次のシーケンスは特別な意味を持ちます。

'% '

コマンドまたは引数内のリテラルスペース。

%%

リテラルパーセント記号。

%s

Gitが呼び出そうとするサービスの名前(receive-pack、upload-pack、またはupload-archive)に置き換えられます。

%S

Gitが呼び出そうとするサービスの長い名前(git-receive-pack、git-upload-pack、またはgit-upload-archive)に置き換えられます。

%G(引数の先頭文字でなければなりません)

この引数は<command>に渡されません。代わりに、ヘルパーは、サービスフィールドに適切な値が設定され、リポジトリフィールドに引数の残りが設定されたgit://サービスリクエストをリモート側に送信することから開始します。デフォルトでは、そのようなリクエストを送信しません。

これは、リモート側が何らかのトンネル経由でアクセスされるgit://サーバーである場合に役立ちます。

%V(引数の先頭文字でなければなりません)

この引数は<command>に渡されません。代わりに、git://サービスリクエストのvhostフィールド(引数の残り)を設定します。デフォルトでは、そのようなリクエスト(送信された場合)にvhostを送信しません。

環境変数

GIT_TRANSLOOP_DEBUG

設定されている場合、さまざまな読み取り/書き込みに関するデバッグ情報を印刷します。

コマンドに渡される環境変数

GIT_EXT_SERVICE

ヘルパーが呼び出す必要があるサービスの長い名前(git-upload-packなど…)に設定されます。

GIT_EXT_SERVICE_NOPREFIX

ヘルパーが呼び出す必要があるサービスの長い名前(upload-packなど…)に設定されます。

このリモートヘルパーは、「git fetch <URL>」、「git clone <URL>」、「git push <URL>」、または「git remote add <nick> <URL>」などのコマンドを使用する場合、Gitによって透過的に使用されます。ここで、<URL>はext::で始まります。例

"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S foo/repo"

host.example:foo/repoに似ていますが、/home/foo/.ssh/somekeyをキーペアとして、userをリモート側のユーザーとして使用します。これにより、.ssh/configを編集する必要がなくなります。

"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo"

抽象名前空間アドレス/git-serverでgitプロトコル経由でアクセス可能な/somerepoパスを持つリポジトリを表します。

"ext::git-server-alias foo %G/repo"

ヘルパープログラム「git-server-alias foo」を使用してアクセスされる/repoパスを持つリポジトリを表します。リポジトリへのパスとリクエストの種類は、コマンドラインではなく、通常のgit://プロトコルと同様にプロトコルストリームの一部として渡されます。

"ext::git-server-alias foo %G/repo %Vfoo"

ヘルパープログラム「git-server-alias foo」を使用してアクセスされる/repoパスを持つリポジトリを表します。プロトコルストリームに渡されるリモートサーバーのホスト名は「foo」になります(これにより、複数の仮想Gitサーバーがリンクレベルアドレスを共有できます)。

"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"

ヘルパープログラム「git-server-alias foo」を使用してアクセスされる/repo with spacesパスを持つリポジトリを表します。プロトコルストリームに渡されるリモートサーバーのホスト名は「foo」になります(これにより、複数の仮想Gitサーバーがリンクレベルアドレスを共有できます)。

"ext::git-ssl foo.example /bar"

ヘルパープログラム「git-ssl foo.example /bar」を使用してアクセスされるリポジトリを表します。リクエストの種類は、ヘルパーによって環境変数を使用して判断できます(上記を参照)。

GIT

git[1]スイートの一部

scroll-to-top