diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2008-11-16 21:46:47 +0300 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2008-11-16 13:33:09 -0800 |
commit | 153ad78b5074b37215654b1ccb59e67dc5831883 (patch) | |
tree | 89e174effc81b0d86b49fceac06920e3848b4621 /lib | |
parent | git-gui: try to provide a window icon under X (diff) | |
download | tgif-153ad78b5074b37215654b1ccb59e67dc5831883.tar.xz |
git-gui: Implement system-wide configuration handling.
With the old implementation any system-wide options appear
to be set locally in the current repository. This commit
adds explicit handling of system options, essentially
interpreting them as customized default_config.
The difficulty in interpreting system options stems from
the fact that simple 'git config' lists all values, while
'git config --global' only values set in ~/.gitconfig,
excluding both local and system options.
Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/option.tcl | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/option.tcl b/lib/option.tcl index c80c939878..1d55b49c9b 100644 --- a/lib/option.tcl +++ b/lib/option.tcl @@ -25,7 +25,7 @@ proc config_check_encodings {} { proc save_config {} { global default_config font_descs - global repo_config global_config + global repo_config global_config system_config global repo_config_new global_config_new global ui_comm_spell @@ -49,7 +49,7 @@ proc save_config {} { foreach name [array names default_config] { set value $global_config_new($name) if {$value ne $global_config($name)} { - if {$value eq $default_config($name)} { + if {$value eq $system_config($name)} { catch {git config --global --unset $name} } else { regsub -all "\[{}\]" $value {"} value @@ -284,17 +284,17 @@ proc do_options {} { } proc do_restore_defaults {} { - global font_descs default_config repo_config + global font_descs default_config repo_config system_config global repo_config_new global_config_new foreach name [array names default_config] { - set repo_config_new($name) $default_config($name) - set global_config_new($name) $default_config($name) + set repo_config_new($name) $system_config($name) + set global_config_new($name) $system_config($name) } foreach option $font_descs { set name [lindex $option 0] - set repo_config(gui.$name) $default_config(gui.$name) + set repo_config(gui.$name) $system_config(gui.$name) } apply_config |