git-gui: Honor rerere.enabled configuration option
authorShawn O. Pearce <spearce@spearce.org>
Sun, 8 Jul 2007 21:41:24 +0000 (17:41 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Sun, 8 Jul 2007 21:41:24 +0000 (17:41 -0400)
Recently in git.git change b4372ef136 Johannes Schindelin taught
git-commit.sh to invoke (or skip) calling git-rerere based upon
the rerere.enabled configuration setting:

  So, check the config variable "rerere.enabled". If it is set
  to "false" explicitely, do not activate rerere, even if
  .git/rr-cache exists. This should help when you want to disable
  rerere temporarily.

  If "rerere.enabled" is not set at all, fall back to detection
  of the directory .git/rr-cache.

We now do the same logic in git-gui's own commit implementation.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/commit.tcl

index f9791f64dbec927726622f3d0a368606a4f13b17..0de2a28fa5e031bd6c3a090f9288527aed78b188 100644 (file)
@@ -331,7 +331,12 @@ A rescan will be automatically started now.
 
        # -- Let rerere do its thing.
        #
-       if {[file isdirectory [gitdir rr-cache]]} {
+       if {[get_config rerere.enabled] eq {}} {
+               set rerere [file isdirectory [gitdir rr-cache]]
+       } else {
+               set rerere [is_config_true rerere.enabled]
+       }
+       if {$rerere} {
                catch {git rerere}
        }