Skip to content

Commit

Permalink
gitk: Fix handling of flag arguments
Browse files Browse the repository at this point in the history
Despite the name, the --revs-only flag to git rev-parse doesn't make
it output only revision IDs.  It makes it output only arguments that
are suitable for giving to git rev-list.  So make start_rev_list and
updatecommits cope with arguments output by git rev-parse that aren't
revision IDs.  This way we won't get an error when an argument such as
"-300" has been given to gitk and the view is updated.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed Jan 10, 2008
1 parent 6636b88 commit 5be25a8
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions gitk
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ proc start_rev_list {view} {
$viewargs($view)]
set viewincl($view) {}
foreach c $commits {
if {![string match "^*" $c]} {
if {[regexp {^[0-9a-fA-F]{40}$} $c]} {
lappend viewincl($view) $c
}
}
Expand Down Expand Up @@ -187,14 +187,17 @@ proc updatecommits {} {
$viewargs($view)]
set pos {}
set neg {}
set flags {}
foreach c $commits {
if {[string match "^*" $c]} {
lappend neg $c
} else {
} elseif {[regexp {^[0-9a-fA-F]{40}$} $c]} {
if {!([info exists varcid($view,$c)] ||
[lsearch -exact $viewincl($view) $c] >= 0)} {
lappend pos $c
}
} else {
lappend flags $c
}
}
if {$pos eq {}} {
Expand All @@ -206,7 +209,7 @@ proc updatecommits {} {
set viewincl($view) [concat $viewincl($view) $pos]
if {[catch {
set fd [open [concat | git log --no-color -z --pretty=raw --parents \
--boundary $pos $neg "--" $viewfiles($view)] r]
--boundary $pos $neg $flags "--" $viewfiles($view)] r]
} err]} {
error_popup "Error executing git log: $err"
exit 1
Expand Down

0 comments on commit 5be25a8

Please sign in to comment.