提交 77aa0ae8 编写于 作者: A Alexander Gavrilov 提交者: Paul Mackerras

gitk: Add menu item for calling git gui blame

This adds a new item to the file list popup menu, that calls git gui
blame for the selected file, starting with the first parent of the
current commit.
Signed-off-by: NAlexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 39816d60
......@@ -2214,6 +2214,8 @@ proc makewindow {} {
-command {flist_hl 1}
$flist_menu add command -label [mc "External diff"] \
-command {external_diff}
$flist_menu add command -label [mc "Blame parent commit"] \
-command {external_blame 1}
}
# Windows sends all mouse wheel events to the current focused window, not
......@@ -3021,6 +3023,27 @@ proc external_diff {} {
}
}
proc external_blame {parent_idx} {
global flist_menu_file
global nullid nullid2
global parentlist selectedline currentid
if {$parent_idx > 0} {
set base_commit [lindex $parentlist $selectedline [expr {$parent_idx-1}]]
} else {
set base_commit $currentid
}
if {$base_commit eq {} || $base_commit eq $nullid || $base_commit eq $nullid2} {
error_popup [mc "No such commit"]
return
}
if {[catch {exec git gui blame $base_commit $flist_menu_file &} err]} {
error_popup [mc "git gui blame: command failed: $err"]
}
}
# delete $dir when we see eof on $f (presumably because the child has exited)
proc delete_at_eof {f dir} {
while {[gets $f line] >= 0} {}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册