Git 2.18 (2018 年第 2 四半期) では、Git で使用されるものをより細かく制御できるようになりましcurl
た。
Git が反対側からの gzip エンコーディングを受け入れることをアドバタイズするために使用される HTTP クライアント コード。代わりに、cURL ライブラリに最適なものをアドバタイズしてネゴシエートさせてください。
コミット eaf6a1b、コミット 1a53e69 (2018 年 5 月 22 日) によるBrandon Williams ( mbrandonw
)を参照してください。
( 2018 年 5 月 30 日、コミット 13e8be9でJunio C Hamanoによってマージされました)gitster
remote-curl: curl でサポートされているすべてのエンコーディングを受け入れます
curl
gzip 応答のみを受け入れるのではなく、curl がサポートするすべてのエンコーディングを受け入れるように構成します。
これにより、" " 機能なしでビルドされた curl のインストールを使用する際の問題が修正されzlib
ます。aa90b96 (Enable info/refs gzip decompression in HTTP client, 2012-09-19, Git 1.7.12.3) 以降、デコードできないにもかかわらず、「」エンコードを要求することになりますgzip
。
さらに悪いことに、そのことを示す明確なエラー メッセージが表示される代わりに、「ダム」http にフォールバックしてしまい、結果が混乱し、デバッグが困難になります。libcurl
curl
は、要求されたエンコーディングをサポートしているかどうかを確認するためのチェックを行わないため、代わりに、curl オプションに空の文字列を設定して、curlがCURLOPT_ENCODING
サポートAccept-Encoding
するエンコーディングのみを含む " " ヘッダーを送信する必要があることを示します。
GIT_CURL_VERBOSE=1 で実行すると、残念ながらここに投稿するには長すぎます
GIT_CURL_VERBOSE
Git 2.28 より前では、 orGIT_TRACE_CURL
のためにここに投稿するのは安全ではありません。
Git 2.28 (2020 年第 3 四半期) では、 のサポートGIT_CURL_VERBOSE
をGIT_TRACE_CURL
.
コミット 7167a62、コミット 373e9bd (2020 年 5 月 11 日) by Jonathan Tan ( jhowtan
)を参照してください。
( 2020 年 6 月 9 日、コミット 0b925a4でJunio C Hamanoによってマージされました)gitster
署名者: ジョナサン・タン
が設定されているときはいつでも、 を設定するのではなく、が設定さGIT_CURL_VERBOSE
れているかのように動作するように Git に教えます。GIT_TRACE_CURL=1
GIT_TRACE_CURL_NO_DATA=1
CURLOPT_VERBOSE
これは、機密データが不注意で公開されるのを防ぐためです。
特に、GIT_CURL_VERBOSE
は " Authorization
" ヘッダーも、 で指定された Cookie も編集しませんGIT_REDACT_COOKIES
。
GIT_CURL_VERBOSE
トレース メカニズムを統一することには、トレース メカニズムの改善がとの両方のユーザーに利益をもたらすという将来の利点もあり、GIT_TRACE_CURL,
改善を 2 回実装することを覚えておく必要はありません。
Git 2.28 (2020 年第 3 四半期) でも、トレース出力の機密情報を編集するためのインターフェイスが簡素化されています。
Jonathan Tan ( )によるcommit 827e7d4 (2020 年 6 月 5 日)を参照してください。( 2020 年 6 月 22 日、コミット b8a5299でJunio C Hamanoによってマージされました)jhowtan
gitster
http
: すべての Cookie を編集し、教えるGIT_TRACE_REDACT=0
署名者: ジョナサン・タン
トレース出力 (GIT_TRACE_CURL
が true の場合) で、デフォルトですべての HTTP Cookie の値を編集します。
これで、auth ヘッダー ( 74c682d3c6 (" http.c ://github.com/git/git/blob/827e7d4da470e8b9b222b2cf3b4a3b7f8c3c671f/http.c) の実装GIT_TRACE_CURL
以降:環境変数を実装"、2016-05-24、Git v2 .10.0-rc0 --バッチ #3にリストされているマージ)) および Cookie 値 (このコミット以降) は、これらのトレースでデフォルトで編集されます。ユーザーは、環境変数を使用してこれらの編集を禁止することもできます。[
](https
GIT_TRACE_CURL
すべての Cookie の値がデフォルトで編集されるようになったためGIT_REDACT_COOKIES
(以前はユーザーが編集する個々の Cookie を選択できました)、現在は効果がありません。