Skip to content

Commit

Permalink
gitk: Let git-rev-list do the argument list parsing
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Paul Mackerras committed Apr 23, 2006
1 parent e7da347 commit 61e56c8
Showing 1 changed file with 2 additions and 18 deletions.
20 changes: 2 additions & 18 deletions gitk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 61e56c8

Please sign in to comment.