Skip to content

Commit

Permalink
git-gui: Brown paper bag fix division by 0 in blame
Browse files Browse the repository at this point in the history
If we generate a blame status string before we have obtained
any annotation data at all from the input file, or if the input
file is empty, our total_lines will be 0.  This causes a division
by 0 error when we blindly divide by the 0 to compute the total
percentage of lines loaded.  Instead we should report 0% done.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  • Loading branch information
Shawn O. Pearce committed Apr 4, 2007
1 parent 2ec0cb7 commit f6f2aa3
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions git-gui.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3604,12 +3604,14 @@ proc read_blame_incremental {fd w w_load w_cmit w_line w_file} {
proc blame_incremental_status {w} {
global blame_status blame_data

set have $blame_data($w,blame_lines)
set total $blame_data($w,total_lines)
set pdone 0
if {$total} {set pdone [expr {100 * $have / $total}]}

set blame_status($w) [format \
"Loading annotations... %i of %i lines annotated (%2i%%)" \
$blame_data($w,blame_lines) \
$blame_data($w,total_lines) \
[expr {100 * $blame_data($w,blame_lines)
/ $blame_data($w,total_lines)}]]
$have $total $pdone]
}

proc blame_click {w w_cmit w_line w_file cur_w pos} {
Expand Down

0 comments on commit f6f2aa3

Please sign in to comment.