gitk: collect construction of blameargs into a single conditional

The command line to invoke 'git blame' for a single line is constructed using several if-conditionals, each with the same condition {$from_index new {}}. Merge all of them into a single conditional. This requires to duplicate significant parts of the command, but it helps the next change, where we will have to deal with a nested list structure. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Taylor Blau <me@ttaylorr.com>

Johannes Sixt committed Mar 23, 2025 at 22:34 UTC 79a3ef53143f75450a828f4bc4e9dd3d4f2bb5ba
1 file changed +6 -8
gitk
+6 -8
@@ -3967,17 +3967,15 @@ proc show_line_source {} {
3967 }
3968 set line [lindex $h 1]
3969 }
3970 - set blameargs {}
3970 + set blamefile [file join $cdup $flist_menu_file]
3971 if {$from_index ne {}} {
3972 - lappend blameargs | git cat-file blob $from_index
3973 - }
3974 - lappend blameargs | git blame -p -L$line,+1
3975 - if {$from_index ne {}} {
3976 - lappend blameargs --contents -
3972 + set blameargs [list \
3973 + | git cat-file blob $from_index \
3974 + | git blame -p -L$line,+1 --contents - -- $blamefile]
3975 } else {
3978 - lappend blameargs $id
3976 + set blameargs [list \
3977 + | git blame -p -L$line,+1 $id -- $blamefile]
3978 }
3980 - lappend blameargs -- [file join $cdup $flist_menu_file]
3979 if {[catch {
3980 set f [open $blameargs r]
3981 } err]} {