@@ -406,14 +406,16 @@ proc start_rev_list {view} {
406406 if {$revs eq {}} {
407407 return 0
408408 }
409- set args [ concat $vflags($view) $revs ]
409+ set args $vflags($view)
410410 } else {
411+ set revs {}
411412 set args $vorigargs($view)
412413 }
413414
414415 if {[catch {
415416 set fd [open [concat | git log --no-color -z --pretty=raw $show_notes \
416- --parents --boundary $args " --" $files ] r]
417+ --parents --boundary $args --stdin \
418+ " <<[ join [concat $revs " --" $files ] " \\ n" ]" ] r]
417419 } err]} {
418420 error_popup " [ mc " Error executing git log:" ] $err "
419421 return 0
@@ -555,13 +557,19 @@ proc updatecommits {} {
555557 set revs $newrevs
556558 set vposids($view ) [lsort -unique [concat $oldpos $vposids($view) ]]
557559 }
558- set args [concat $vflags($view) $revs --not $oldpos ]
560+ set args $vflags($view)
561+ foreach r $oldpos {
562+ lappend revs " ^$r "
563+ }
559564 } else {
565+ set revs {}
560566 set args $vorigargs($view)
561567 }
562568 if {[catch {
563569 set fd [open [concat | git log --no-color -z --pretty=raw $show_notes \
564- --parents --boundary $args " --" $vfilelimit($view) ] r]
570+ --parents --boundary $args --stdin \
571+ " <<[ join [concat $revs " --" \
572+ $vfilelimit($view) ] " \\ n" ]" ] r]
565573 } err]} {
566574 error_popup " [ mc " Error executing git log:" ] $err "
567575 return
@@ -10174,10 +10182,16 @@ proc getallcommits {} {
1017410182 foreach id $seeds {
1017510183 lappend ids " ^$id "
1017610184 }
10185+ lappend ids " --"
1017710186 }
1017810187 }
1017910188 if {$ids ne {}} {
10180- set fd [open [concat $cmd $ids ] r]
10189+ if {$ids eq " --all" } {
10190+ set cmd [concat $cmd " --all" ]
10191+ } else {
10192+ set cmd [concat $cmd --stdin " <<[ join $ids " \\ n" ] " ]
10193+ }
10194+ set fd [open $cmd r]
1018110195 fconfigure $fd -blocking 0
1018210196 incr allcommits
1018310197 nowbusy allcommits
0 commit comments