在gitk中显示提交人日期,而不是作者日期

在gitk中显示提交人日期,而不是作者日期,git,gitk,Git,Gitk,我正在使用gitk浏览我的git回购协议,我想在gitk中(第三列)打印提交的提交日期,而不是作者日期 你能告诉我怎么做吗 使用此选项显示提交日期 git show -s --format=%ci <commit> git show-s--格式=%ci 查看手册页面,了解日期字符串的其他格式修改gitk。(这是一个很大的TCL脚本,因此很容易修改。) 如果您查看gitk的最新版本,您会发现: proc drawcmittext {id row col} { set d

我正在使用gitk浏览我的git回购协议,我想在gitk中(第三列)打印提交的提交日期,而不是作者日期

你能告诉我怎么做吗


使用此选项显示提交日期

git show -s --format=%ci <commit>
git show-s--格式=%ci
查看手册页面,了解日期字符串的其他格式

修改gitk。(这是一个很大的TCL脚本,因此很容易修改。)

如果您查看gitk的最新版本,您会发现:

proc drawcmittext {id row col} { 
    set date [lindex $commitinfo($id) 2]
    set date [formatdate $date]
靠近第6100行。大约72行,你会发现:

proc drawcmittext {id row col} { 
    set date [lindex $commitinfo($id) 2]
    set date [formatdate $date]
没有更多的代码可以更改
日期
,因此从现在起,您必须使用
formatdate
lindex
表达式(列表索引)中的初始值所做的任何操作

$commitinfo
(基于查找提交ID的关联数组)字段包括:

    set commitinfo($id) [list $headline $auname $audate \
                             $comname $comdate $comment $hasnote $diff]
(第1730行附近的
parsecommit
的最后两行)。因此,索引2是
$audate
,它是解析的作者日期。提交人日期来自索引4(索引1和3分别为作者和提交人)


如果使用了一些命令行开关,那么明显的变化是选择索引4。(制作一个动态更改值的Tk按钮也是可能的,但难度更大。)

torek的解决方案作为gitk 1.8.1.4-1.1.1的补丁,用于显示提交人日期而不是作者日期:

--- /usr/bin/gitk       2013-02-26 15:44:18.000000000 +0100
+++ /usr/local/bin/gitk 2017-09-14 13:52:13.629947026 +0200
@@ -5963,7 +5963,7 @@
     }
     set headline [lindex $commitinfo($id) 0]
     set name [lindex $commitinfo($id) 1]
-    set date [lindex $commitinfo($id) 2]
+    set date [lindex $commitinfo($id) 4]
     set date [formatdate $date]
     set font mainfont
     set nfont mainfont
将此修补程序保存在gitk中。修补程序并应用:

cp /usr/bin/gitk .
patch -p0 gitk gitk.patch
sudo mv gitk /usr/local/bin

很好,我不知道gitk是个脚本。。我还将1替换为3,以获得补丁的提交者名称thx,但您还需要通过将1替换为3来修补名称字段,如前所述before@user43968就我而言,我真的只想替换提交日期。我们切换到Gerrit code review,并选择在默认情况下重新设置提交的基础。当提交被添加到devel或main分支时,我通常会感兴趣(例如:为什么集成测试在昨天17:23停止?做了哪些更改?),但我对提交者从不感兴趣(谁在乎谁点击了提交按钮?作者是提交的专家)。