@@ -621,7 +621,7 @@ proc _lappend_nice {cmd_var} {
621
621
}
622
622
623
623
proc git {args} {
624
- set fd [eval [ list git_read] $args ]
624
+ set fd [git_read $args ]
625
625
fconfigure $fd -translation binary -encoding utf-8
626
626
set result [string trimright [read $fd ] " \n " ]
627
627
close $fd
@@ -642,34 +642,34 @@ proc _open_stdout_stderr {cmd} {
642
642
return $fd
643
643
}
644
644
645
- proc git_read {args } {
646
- set cmdp [_git_cmd [lindex $args 0]]
647
- set args [lrange $args 1 end]
645
+ proc git_read {cmd } {
646
+ set cmdp [_git_cmd [lindex $cmd 0]]
647
+ set cmd [lrange $cmd 1 end]
648
648
649
- return [_open_stdout_stderr [concat $cmdp $args ]]
649
+ return [_open_stdout_stderr [concat $cmdp $cmd ]]
650
650
}
651
651
652
- proc git_read_nice {args } {
652
+ proc git_read_nice {cmd } {
653
653
set opt [list ]
654
654
655
655
_lappend_nice opt
656
656
657
- set cmdp [_git_cmd [lindex $args 0]]
658
- set args [lrange $args 1 end]
657
+ set cmdp [_git_cmd [lindex $cmd 0]]
658
+ set cmd [lrange $cmd 1 end]
659
659
660
- return [_open_stdout_stderr [concat $opt $cmdp $args ]]
660
+ return [_open_stdout_stderr [concat $opt $cmdp $cmd ]]
661
661
}
662
662
663
- proc git_write {args } {
664
- set cmdp [_git_cmd [lindex $args 0]]
665
- set args [lrange $args 1 end]
663
+ proc git_write {cmd } {
664
+ set cmdp [_git_cmd [lindex $cmd 0]]
665
+ set cmd [lrange $cmd 1 end]
666
666
667
- _trace_exec [concat $cmdp $args ]
668
- return [open [concat [list | ] $cmdp $args ] w]
667
+ _trace_exec [concat $cmdp $cmd ]
668
+ return [open [concat [list | ] $cmdp $cmd ] w]
669
669
}
670
670
671
671
proc githook_read {hook_name args} {
672
- git_read hook run --ignore-missing $hook_name -- $args 2>@1
672
+ git_read [ concat [ list hook run --ignore-missing $hook_name --] $args 2>@1]
673
673
}
674
674
675
675
proc kill_file_process {fd} {
@@ -1110,10 +1110,10 @@ proc _parse_config {arr_name args} {
1110
1110
array unset arr
1111
1111
set buf {}
1112
1112
catch {
1113
- set fd_rc [eval \
1114
- [list git_read config] \
1113
+ set fd_rc [git_read \
1114
+ [concat config \
1115
1115
$args \
1116
- [ list --null --list]]
1116
+ --null --list]]
1117
1117
fconfigure $fd_rc -translation binary -encoding utf-8
1118
1118
set buf [read $fd_rc ]
1119
1119
close $fd_rc
@@ -1482,12 +1482,12 @@ proc rescan {after {honor_trustmtime 1}} {
1482
1482
} else {
1483
1483
set rescan_active 1
1484
1484
ui_status [mc " Refreshing file status..." ]
1485
- set fd_rf [git_read update-index \
1485
+ set fd_rf [git_read [ list update-index \
1486
1486
-q \
1487
1487
--unmerged \
1488
1488
--ignore-missing \
1489
1489
--refresh \
1490
- ]
1490
+ ]]
1491
1491
fconfigure $fd_rf -blocking 0 -translation binary
1492
1492
fileevent $fd_rf readable \
1493
1493
[list rescan_stage2 $fd_rf $after ]
@@ -1527,11 +1527,11 @@ proc rescan_stage2 {fd after} {
1527
1527
set rescan_active 2
1528
1528
ui_status [mc " Scanning for modified files ..." ]
1529
1529
if {[git-version >= " 1.7.2" ]} {
1530
- set fd_di [git_read diff-index --cached --ignore-submodules=dirty -z [PARENT]]
1530
+ set fd_di [git_read [ list diff-index --cached --ignore-submodules=dirty -z [PARENT] ]]
1531
1531
} else {
1532
- set fd_di [git_read diff-index --cached -z [PARENT]]
1532
+ set fd_di [git_read [ list diff-index --cached -z [PARENT] ]]
1533
1533
}
1534
- set fd_df [git_read diff-files -z]
1534
+ set fd_df [git_read [ list diff-files -z] ]
1535
1535
1536
1536
fconfigure $fd_di -blocking 0 -translation binary -encoding binary
1537
1537
fconfigure $fd_df -blocking 0 -translation binary -encoding binary
@@ -1540,7 +1540,7 @@ proc rescan_stage2 {fd after} {
1540
1540
fileevent $fd_df readable [list read_diff_files $fd_df $after ]
1541
1541
1542
1542
if {[is_config_true gui.displayuntracked]} {
1543
- set fd_lo [eval git_read ls-files --others -z $ls_others ]
1543
+ set fd_lo [git_read [ concat ls-files --others -z $ls_others ] ]
1544
1544
fconfigure $fd_lo -blocking 0 -translation binary -encoding binary
1545
1545
fileevent $fd_lo readable [list read_ls_others $fd_lo $after ]
1546
1546
incr rescan_active
0 commit comments