SYNOPSIS
git remote add <nick> "ext::<command>[ <arguments>…]"
DESCRIPTION
このリモートヘルパーは、指定の <command>
を使用してリモートGitサーバーに接続します。
指定の <command>
のstdinに書き込んだデータは、git:// サーバーまたは git-upload-pack または git-receive-pack または (状況に応じて)git-upload-archive に送信されるものと見なし、かつ、 <command> のstdoutからの読み取りは、同一のサービスから受信されたものと見なされます。
コマンドと引数は、エスケープされていない空白で区切られます。
以下のシーケンスには特別な意味があります:
- `% `
-
コマンドまたは引数のリテラル空白
-
%%
-
リテラルのパーセント文字
-
%s
-
Gitが呼び出したいサービスの名前(receive-pack または upload-pack または upload-archive)に置き換えられます。
-
%S
-
Gitが呼び出したいサービスの長い名前(long name)(git-receive-pack または git-upload-pack または git-upload-archive)に置き換えられます。
-
%G
(引数の最初の文字列である必要があります) -
この引数は
<command>
には渡されません。その代わりにヘルパーは、サービスフィールドが適切な値に設定され、かつ、リポジトリフィールドが引数の残りの部分に設定された状態でリモート側に git:// サービス要求(request)を送信することから開始します。デフォルトでは、そのような要求は送信されません。これはリモート側の git:// サーバーへトンネルを介してアクセスする場合に便利です。
-
%V
(引数の最初の文字列である必要があります) -
この引数は
<command>
には渡されません。その代わりに git:// サービス要求でvhostフィールドを(引数の残りの部分に)設定します。デフォルトでは、(送信の場合)そのような要求でvhostを送信しません。
ENVIRONMENT VARIABLES
- GIT_TRANSLOOP_DEBUG
-
設定されている場合、さまざまな読み取り/書き込みに関するデバッグ情報を出力します。
ENVIRONMENT VARIABLES PASSED TO COMMAND
- GIT_EXT_SERVICE
-
サービスヘルパーが呼び出す必要のある長い名前(git-upload-pack など)を設定します。
- GIT_EXT_SERVICE_NOPREFIX
-
サービスヘルパーが呼び出す必要のある名前(upload-pack など)を設定します。
EXAMPLES
このリモートヘルパーは、 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"
-
抽象名前空間アドレス(abstract namespace address) /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
を使用してアクセスされるリポジトリを表します。リクエストのタイプは、ヘルパーが環境変数を使用して決定できます(上記参照)。
SEE ALSO
GIT
Part of the git(1) suite