2

git config include.path="/path/to/defaultconfig"システム全体の構成にそのファイルがあります(ただし、以前に設定されたいくつかの値をリセットしたいに含めることもできます.

特に、デフォルトの構成ファイルには が含まれてdiff.external = git-diff-wrapperおり、一部のユーザーに対して非アクティブ化したいと考えています

4

1 に答える 1

4

システム全体の構成である場合、各ユーザーは自分のグローバルおよびローカル設定で構成値をオーバーライドできます。

しかし、下位の構成ファイルの設定を「非アクティブ化」する簡単な方法はありません。
に設定しても、""通常は意図しない結果になります。まさにそのトピックが 2010 年 4 月に議論されました

たとえば、send-emailオプションを無効にします。

確かに、これについて少し考えてみると、値を設定しないで unset するのは恐ろしい、恐ろしいハックです。
git-send-email構成またはコマンドラインオプションからの値があることを確認するだけでなく、それが正気であることも確認するように修正する必要があります (つまり、空でsmtpuser = "0"ないか、サポートについて心配する必要がないと言えば、単に true っぽい)。

それはどの設定にも当てはまります。関数は、値が検出された場合 (でも) diff.c#run_diff_cmd()、外部差分を実行しようとします。diff.external""

if (!strcmp(var, "diff.external"))
  return git_config_string(&external_diff_cmd_cfg, var, value);

以下につながります:

if (pgm) {
  run_external_diff(pgm, name, other, one, two, xfrm_msg,
  complete_rewrite);
  return;
}

したがって、それらのユーザーが別の git システム インストール パス (別のシステム設定を意味する) を参照することを確認する以外に、システム全体の外部差分をブロックする簡単な方法はありません。

于 2013-07-10T11:08:11.360 に答える