@@ -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
@@ -10174,10 +10182,16 @@ proc getallcommits {} {
10174
10182
foreach id $seeds {
10175
10183
lappend ids " ^$id "
10176
10184
}
10185
+ lappend ids " --"
10177
10186
}
10178
10187
}
10179
10188
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]
10181
10195
fconfigure $fd -blocking 0
10182
10196
incr allcommits
10183
10197
nowbusy allcommits
0 commit comments