aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-10-20 20:43:36 -0400
committerShawn O. Pearce <spearce@spearce.org>2007-10-20 20:43:36 -0400
commitc9dcc7f865fb7891f4f6d068230663eb2cb586a7 (patch)
treedda2dc1770bbc3115a4487f0b32e3323e899fd97
parenta5bb31fb6323b53559b0d15ce2d02a7ba6d74bed (diff)
parentbbbadf6e58f72ac6bf739d2a1109cbd872eb1083 (diff)
downloadgit-c9dcc7f865fb7891f4f6d068230663eb2cb586a7.tar.gz
git-c9dcc7f865fb7891f4f6d068230663eb2cb586a7.tar.xz
Merge branch 'maint'
* maint: git-gui: Don't display CR within console windows git-gui: Handle progress bars from newer gits git-gui: Correctly report failures from git-write-tree Conflicts: lib/commit.tcl lib/console.tcl
-rw-r--r--lib/commit.tcl2
-rw-r--r--lib/console.tcl2
-rw-r--r--lib/status_bar.tcl5
3 files changed, 6 insertions, 3 deletions
diff --git a/lib/commit.tcl b/lib/commit.tcl
index 7099f5c6f..10b0430f5 100644
--- a/lib/commit.tcl
+++ b/lib/commit.tcl
@@ -253,7 +253,7 @@ proc commit_committree {fd_wt curHEAD msg} {
global repo_config
gets $fd_wt tree_id
- if {$tree_id eq {} || [catch {close $fd_wt} err]} {
+ if {[catch {close $fd_wt} err]} {
error_popup [strcat [mc "write-tree failed:"] "\n\n$err"]
ui_status {Commit failed.}
unlock_index
diff --git a/lib/console.tcl b/lib/console.tcl
index 207537468..5597188d8 100644
--- a/lib/console.tcl
+++ b/lib/console.tcl
@@ -120,7 +120,7 @@ method _read {fd after} {
} else {
$w_t delete $console_cr end
$w_t insert end "\n"
- $w_t insert end [string range $buf $c $cr]
+ $w_t insert end [string range $buf $c [expr {$cr - 1}]]
set c $cr
incr c
}
diff --git a/lib/status_bar.tcl b/lib/status_bar.tcl
index 5c5bf7c73..51d417755 100644
--- a/lib/status_bar.tcl
+++ b/lib/status_bar.tcl
@@ -97,7 +97,10 @@ method update_meter {buf} {
set prior [string range $meter 0 $r]
set meter [string range $meter [expr {$r + 1}] end]
- if {[regexp "\\((\\d+)/(\\d+)\\)\\s+done\r\$" $prior _j a b]} {
+ set p "\\((\\d+)/(\\d+)\\)"
+ if {[regexp ":\\s*\\d+% $p\(?:, done.\\s*\n|\\s*\r)\$" $prior _j a b]} {
+ update $this $a $b
+ } elseif {[regexp "$p\\s+done\r\$" $prior _j a b]} {
update $this $a $b
}
}