@@ -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
@@ -10168,10 +10176,16 @@ proc getallcommits {} {
1016810176 foreach id $seeds {
1016910177 lappend ids " ^$id "
1017010178 }
10179+ lappend ids " --"
1017110180 }
1017210181 }
1017310182 if {$ids ne {}} {
10174- set fd [open [concat $cmd $ids ] r]
10183+ if {$ids eq " --all" } {
10184+ set cmd [concat $cmd " --all" ]
10185+ } else {
10186+ set cmd [concat $cmd --stdin " <<[ join $ids " \\ n" ] " ]
10187+ }
10188+ set fd [open $cmd r]
1017510189 fconfigure $fd -blocking 0
1017610190 incr allcommits
1017710191 nowbusy allcommits
0 commit comments