diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-10-20 14:16:15 -0400 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-10-20 20:36:27 -0400 |
commit | bea6878be2fb73e50407f93f2bcd71b961510c19 (patch) | |
tree | bf5fdfe2f52e7b704badb02801cac5faa4f89388 | |
parent | 8af52d7a83a78c5f3a60d5bd5099a5073655339a (diff) | |
download | git-bea6878be2fb73e50407f93f2bcd71b961510c19.tar.gz |
git-gui: Handle progress bars from newer gits
Post Git 1.5.3 a new style progress bar has been introduced that
uses only one line rather than two. The formatting of the completed
and total section is also slightly different so we must adjust our
regexp to match. Unfortunately both styles are in active use by
different versions of Git so we need to look for both.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rw-r--r-- | lib/status_bar.tcl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/status_bar.tcl b/lib/status_bar.tcl index 72a8fe1fd3..3bf79eb6e0 100644 --- a/lib/status_bar.tcl +++ b/lib/status_bar.tcl @@ -69,7 +69,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 } } |