Changed our private merge summary config option to be the same as the
merge.summary option supported by core Git. This means setting the
"Show Merge Summary" flag in git-gui will have the same effect on
the command line.
In the same vein I've also added merge.verbosity to the gui options,
allowing the user to adjust the verbosity level of the recursive
merge strategy. I happen to like level 1 and suggest that other users
use that, but level 2 is the core Git default right now so we'll use
the same default in git-gui.
Unfortunately it appears as though core Git has broken support for
the merge.summary option, even though its still in the documentation
For the time being we should pass along --no-summary to git-merge if
merge.summary is false.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
+proc is_config_true {name} {
+ global repo_config
+ if {[catch {set v $repo_config($name)}]} {
+ return 0
+ } elseif {$v eq {true} || $v eq {1} || $v eq {yes}} {
+ return 1
+ } else {
+ return 0
+ }
+}
+
proc load_config {include_global} {
global repo_config global_config default_config
proc load_config {include_global} {
global repo_config global_config default_config
global HEAD ui_status_value current_branch
set cmd [list git merge]
global HEAD ui_status_value current_branch
set cmd [list git merge]
+ if {![is_config_true merge.summary]} {
+ lappend cmd --no-summary
+ }
+
set names {}
set revcnt 0
foreach i [$w.source.l curselection] {
set names {}
set revcnt 0
foreach i [$w.source.l curselection] {
pack $w.repo -side left -fill both -expand 1 -pady 5 -padx 5
pack $w.global -side right -fill both -expand 1 -pady 5 -padx 5
pack $w.repo -side left -fill both -expand 1 -pady 5 -padx 5
pack $w.global -side right -fill both -expand 1 -pady 5 -padx 5
- {b pullsummary {Show Pull Summary}}
- {b trustmtime {Trust File Modification Timestamps}}
- {i diffcontext {Number of Diff Context Lines}}
- {t newbranchtemplate {New Branch Name Template}}
+ {b merge.summary {Show Merge Summary}}
+ {i-1..5 merge.verbosity {Merge Verbosity}}
+
+ {b gui.trustmtime {Trust File Modification Timestamps}}
+ {i-1..99 gui.diffcontext {Number of Diff Context Lines}}
+ {t gui.newbranchtemplate {New Branch Name Template}}
} {
set type [lindex $option 0]
set name [lindex $option 1]
set text [lindex $option 2]
} {
set type [lindex $option 0]
set name [lindex $option 1]
set text [lindex $option 2]
foreach f {repo global} {
foreach f {repo global} {
+ switch -glob -- $type {
- checkbutton $w.$f.$name -text $text \
- -variable ${f}_config_new(gui.$name) \
+ checkbutton $w.$f.$optid -text $text \
+ -variable ${f}_config_new($name) \
-onvalue true \
-offvalue false \
-font font_ui
-onvalue true \
-offvalue false \
-font font_ui
- pack $w.$f.$name -side top -anchor w
+ pack $w.$f.$optid -side top -anchor w
- i {
- frame $w.$f.$name
- label $w.$f.$name.l -text "$text:" -font font_ui
- pack $w.$f.$name.l -side left -anchor w -fill x
- spinbox $w.$f.$name.v \
- -textvariable ${f}_config_new(gui.$name) \
- -from 1 -to 99 -increment 1 \
- -width 3 \
+ i-* {
+ regexp -- {-(\d+)\.\.(\d+)$} $type _junk min max
+ frame $w.$f.$optid
+ label $w.$f.$optid.l -text "$text:" -font font_ui
+ pack $w.$f.$optid.l -side left -anchor w -fill x
+ spinbox $w.$f.$optid.v \
+ -textvariable ${f}_config_new($name) \
+ -from $min \
+ -to $max \
+ -increment 1 \
+ -width [expr {1 + [string length $max]}] \
- bind $w.$f.$name.v <FocusIn> {%W selection range 0 end}
- pack $w.$f.$name.v -side right -anchor e -padx 5
- pack $w.$f.$name -side top -anchor w -fill x
+ bind $w.$f.$optid.v <FocusIn> {%W selection range 0 end}
+ pack $w.$f.$optid.v -side right -anchor e -padx 5
+ pack $w.$f.$optid -side top -anchor w -fill x
- frame $w.$f.$name
- label $w.$f.$name.l -text "$text:" -font font_ui
- entry $w.$f.$name.v \
+ frame $w.$f.$optid
+ label $w.$f.$optid.l -text "$text:" -font font_ui
+ entry $w.$f.$optid.v \
-borderwidth 1 \
-relief sunken \
-width 20 \
-borderwidth 1 \
-relief sunken \
-width 20 \
- -textvariable ${f}_config_new(gui.$name) \
+ -textvariable ${f}_config_new($name) \
- pack $w.$f.$name.l -side left -anchor w
- pack $w.$f.$name.v -side left -anchor w \
+ pack $w.$f.$optid.l -side left -anchor w
+ pack $w.$f.$optid.v -side left -anchor w \
-fill x -expand 1 \
-padx 5
-fill x -expand 1 \
-padx 5
- pack $w.$f.$name -side top -anchor w -fill x
+ pack $w.$f.$optid -side top -anchor w -fill x
+set default_config(merge.summary) true
+set default_config(merge.verbosity) 2
set default_config(gui.trustmtime) false
set default_config(gui.trustmtime) false
-set default_config(gui.pullsummary) true
set default_config(gui.diffcontext) 5
set default_config(gui.newbranchtemplate) {}
set default_config(gui.fontui) [font configure font_ui]
set default_config(gui.diffcontext) 5
set default_config(gui.newbranchtemplate) {}
set default_config(gui.fontui) [font configure font_ui]