diff options
| -rwxr-xr-x | gitk | 27 |
1 files changed, 20 insertions, 7 deletions
@@ -491,14 +491,16 @@ proc start_rev_list {view} { if {$revs eq {}} { return 0 } - set args [concat $vflags($view) $revs] + set args $vflags($view) } else { + set revs {} set args $vorigargs($view) } if {[catch { - set fd [safe_open_command [concat git log --no-color -z --pretty=raw $show_notes \ - --parents --boundary $args "--" $files]] + set fd [open [concat | git log --no-color -z --pretty=raw $show_notes \ + --parents --boundary $args --stdin \ + [list "<<[join [concat $revs "--" $files] "\n"]"]] r] } err]} { error_popup "[mc "Error executing git log:"] $err" return 0 @@ -640,13 +642,18 @@ proc updatecommits {} { set revs $newrevs set vposids($view) [lsort -unique [concat $oldpos $vposids($view)]] } - set args [concat $vflags($view) $revs --not $oldpos] + set args $vflags($view) + foreach r $oldpos { + lappend revs "^$r" + } } else { + set revs {} set args $vorigargs($view) } if {[catch { - set fd [safe_open_command [concat git log --no-color -z --pretty=raw $show_notes \ - --parents --boundary $args "--" $vfilelimit($view)]] + set fd [open [concat | git log --no-color -z --pretty=raw $show_notes \ + --parents --boundary $args --stdin \ + [list "<<[join [concat $revs "--" $vfilelimit($view)] "\n"]"]] r] } err]} { error_popup "[mc "Error executing git log:"] $err" return @@ -10309,10 +10316,16 @@ proc getallcommits {} { foreach id $seeds { lappend ids "^$id" } + lappend ids "--" } } if {$ids ne {}} { - set fd [safe_open_command [concat $cmd $ids]] + if {$ids eq "--all"} { + set cmd [concat $cmd "--all"] + } else { + set cmd [concat $cmd --stdin [list "<<[join $ids "\n"]"]] + } + set fd [open $cmd r] fconfigure $fd -blocking 0 incr allcommits nowbusy allcommits |
