@@ -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
@@ -10168,10 +10176,16 @@ proc getallcommits {} {
10168
10176
foreach id $seeds {
10169
10177
lappend ids " ^$id "
10170
10178
}
10179
+ lappend ids " --"
10171
10180
}
10172
10181
}
10173
10182
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]
10175
10189
fconfigure $fd -blocking 0
10176
10190
incr allcommits
10177
10191
nowbusy allcommits
0 commit comments