2013-07-10 4 views

Répondre

2

Si c'est un système large configuration, chaque utilisateur peut override une valeur de configuration dans sa/son global et paramètres locaux

Mais il n'y a pas de moyen facile de "désactiver" un paramètre dans un fichier de configuration inférieur.
Même réglé à "" a généralement des conséquences inattendues. Cela very topic was discussed in April 2010.

Par exemple, désactiver l'option send-email:

vrai, après avoir réfléchi un peu à ce sujet en utilisant aucune valeur à désinitialiser est un hack horrible, horrible.
git-send-emailgit-send-email doit être corrigé pour vérifier non seulement qu'il y a une valeur de config ou une option de ligne de commande, mais aussi qu'elle est saine (ie non-vide, ou simplement vraie si nous disons que nous n'avons pas besoin de s'inquiéter de soutenir).

Ce serait vrai pour tout paramètre: la fonction diff.c#run_diff_cmd() tentera d'exécuter une diff externe si la valeur it has detected et diff.external (même "").

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

conduit à:

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

donc il n'y a pas moyen facile de bloquer un système large diff externe, sauf en faisant en sorte que ces utilisateurs font référence à un chemin d'installation du système git différent (ce qui signifie un paramètre système différent).

Questions connexes