diff options
author | Paul Mackerras <paulus@samba.org> | 2006-04-23 18:00:24 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-04-23 18:00:24 +1000 |
commit | 61e56c8823afd2c5a753a4969330ead0ba850c66 (patch) | |
tree | 88b026a3a9f171ea9d075326cbc2d49f91b26dde /gitk | |
parent | e7da347520486ce33bb77d241b574787c0ec18e8 (diff) | |
download | git-61e56c8823afd2c5a753a4969330ead0ba850c66.tar.gz git-61e56c8823afd2c5a753a4969330ead0ba850c66.tar.xz |
gitk: Let git-rev-list do the argument list parsing
This is a fix for a problem reported by Jim Radford where an argument
list somewhere overflows on repositories with lots of tags. In fact
it's now unnecessary to use git-rev-parse since git-rev-list can take
all the arguments that git-rev-parse can. This is inspired by but not
the same as the solutions suggested by Jim Radford and Linus Torvalds.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'gitk')
-rwxr-xr-x | gitk | 20 |
1 files changed, 2 insertions, 18 deletions
@@ -16,22 +16,6 @@ proc gitdir {} { } } -proc parse_args {rargs} { - global parsed_args - - if {[catch { - set parse_args [concat --default HEAD $rargs] - set parsed_args [split [eval exec git-rev-parse $parse_args] "\n"] - }]} { - # if git-rev-parse failed for some reason... - if {$rargs == {}} { - set rargs HEAD - } - set parsed_args $rargs - } - return $parsed_args -} - proc start_rev_list {rlargs} { global startmsecs nextupdate ncmupdate global commfd leftover tclencoding datemode @@ -46,7 +30,7 @@ proc start_rev_list {rlargs} { } if {[catch { set commfd [open [concat | git-rev-list --header $order \ - --parents --boundary $rlargs] r] + --parents --boundary --default HEAD $rlargs] r] } err]} { puts stderr "Error executing git-rev-list: $err" exit 1 @@ -65,7 +49,7 @@ proc getcommits {rargs} { global phase canv mainfont set phase getcommits - start_rev_list [parse_args $rargs] + start_rev_list $rargs $canv delete all $canv create text 3 3 -anchor nw -text "Reading commits..." \ -font $mainfont -tags textitems |