Skip to content

Commit 723360b

Browse files
committed
Merge pull request #2170 from dscho/gitk-long-cmdline
Fix gitk (long cmdline)
2 parents 2b20c9e + 7267d3c commit 723360b

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

gitk-git/gitk

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)