@@ -406,14 +406,16 @@ proc start_rev_list {view} {
406
406
if {$revs eq {}} {
407
407
return 0
408
408
}
409
- set args [ concat $vflags($view) $revs ]
409
+ set args $vflags($view)
410
410
} else {
411
+ set revs {}
411
412
set args $vorigargs($view)
412
413
}
413
414
414
415
if {[catch {
415
416
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]
417
419
} err]} {
418
420
error_popup " [ mc " Error executing git log:" ] $err "
419
421
return 0
@@ -555,13 +557,19 @@ proc updatecommits {} {
555
557
set revs $newrevs
556
558
set vposids($view ) [lsort -unique [concat $oldpos $vposids($view) ]]
557
559
}
558
- set args [concat $vflags($view) $revs --not $oldpos ]
560
+ set args $vflags($view)
561
+ foreach r $oldpos {
562
+ lappend revs " ^$r "
563
+ }
559
564
} else {
565
+ set revs {}
560
566
set args $vorigargs($view)
561
567
}
562
568
if {[catch {
563
569
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]
565
573
} err]} {
566
574
error_popup " [ mc " Error executing git log:" ] $err "
567
575
return
@@ -10210,10 +10218,16 @@ proc getallcommits {} {
10210
10218
foreach id $seeds {
10211
10219
lappend ids " ^$id "
10212
10220
}
10221
+ lappend ids " --"
10213
10222
}
10214
10223
}
10215
10224
if {$ids ne {}} {
10216
- set fd [open [concat $cmd $ids ] r]
10225
+ if {$ids eq " --all" } {
10226
+ set cmd [concat $cmd " --all" ]
10227
+ } else {
10228
+ set cmd [concat $cmd --stdin " <<[ join $ids " \\ n" ] " ]
10229
+ }
10230
+ set fd [open $cmd r]
10217
10231
fconfigure $fd -blocking 0
10218
10232
incr allcommits
10219
10233
nowbusy allcommits
0 commit comments