git-gui: Move load_config procedure below git-version selection
To better handle configuration options that contain LFs in their values we want to use the new -z option available in git-config version 1.5.3 and later. To configure load_config based upon the git version we need to move thos below the git-version computation. No logic changes yet, just a minor reordering of the code. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
a0592d3f57
commit
69f85ffaa2
94
git-gui.sh
94
git-gui.sh
@ -233,51 +233,6 @@ proc get_config {name} {
|
||||
}
|
||||
}
|
||||
|
||||
proc load_config {include_global} {
|
||||
global repo_config global_config default_config
|
||||
|
||||
array unset global_config
|
||||
if {$include_global} {
|
||||
catch {
|
||||
set fd_rc [git_read config --global --list]
|
||||
while {[gets $fd_rc line] >= 0} {
|
||||
if {[regexp {^([^=]+)=(.*)$} $line line name value]} {
|
||||
if {[is_many_config $name]} {
|
||||
lappend global_config($name) $value
|
||||
} else {
|
||||
set global_config($name) $value
|
||||
}
|
||||
}
|
||||
}
|
||||
close $fd_rc
|
||||
}
|
||||
}
|
||||
|
||||
array unset repo_config
|
||||
catch {
|
||||
set fd_rc [git_read config --list]
|
||||
while {[gets $fd_rc line] >= 0} {
|
||||
if {[regexp {^([^=]+)=(.*)$} $line line name value]} {
|
||||
if {[is_many_config $name]} {
|
||||
lappend repo_config($name) $value
|
||||
} else {
|
||||
set repo_config($name) $value
|
||||
}
|
||||
}
|
||||
}
|
||||
close $fd_rc
|
||||
}
|
||||
|
||||
foreach name [array names default_config] {
|
||||
if {[catch {set v $global_config($name)}]} {
|
||||
set global_config($name) $default_config($name)
|
||||
}
|
||||
if {[catch {set v $repo_config($name)}]} {
|
||||
set repo_config($name) $default_config($name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
######################################################################
|
||||
##
|
||||
## handy utils
|
||||
@ -789,6 +744,55 @@ if {$idx ne {}} {
|
||||
}
|
||||
unset -nocomplain idx fd
|
||||
|
||||
######################################################################
|
||||
##
|
||||
## config file parsing
|
||||
|
||||
proc load_config {include_global} {
|
||||
global repo_config global_config default_config
|
||||
|
||||
array unset global_config
|
||||
if {$include_global} {
|
||||
catch {
|
||||
set fd_rc [git_read config --global --list]
|
||||
while {[gets $fd_rc line] >= 0} {
|
||||
if {[regexp {^([^=]+)=(.*)$} $line line name value]} {
|
||||
if {[is_many_config $name]} {
|
||||
lappend global_config($name) $value
|
||||
} else {
|
||||
set global_config($name) $value
|
||||
}
|
||||
}
|
||||
}
|
||||
close $fd_rc
|
||||
}
|
||||
}
|
||||
|
||||
array unset repo_config
|
||||
catch {
|
||||
set fd_rc [git_read config --list]
|
||||
while {[gets $fd_rc line] >= 0} {
|
||||
if {[regexp {^([^=]+)=(.*)$} $line line name value]} {
|
||||
if {[is_many_config $name]} {
|
||||
lappend repo_config($name) $value
|
||||
} else {
|
||||
set repo_config($name) $value
|
||||
}
|
||||
}
|
||||
}
|
||||
close $fd_rc
|
||||
}
|
||||
|
||||
foreach name [array names default_config] {
|
||||
if {[catch {set v $global_config($name)}]} {
|
||||
set global_config($name) $default_config($name)
|
||||
}
|
||||
if {[catch {set v $repo_config($name)}]} {
|
||||
set repo_config($name) $default_config($name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
######################################################################
|
||||
##
|
||||
## feature option selection
|
||||
|
Loading…
Reference in New Issue
Block a user