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

时间:2016-11-26 14:11:59

标签: git gitk

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

你能告诉我怎么做吗?

enter image description here

3 个答案:

答案 0 :(得分:3)

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

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

proc drawcmittext {id row col} { 

在6100附近。大约72行左右你会发现:

    set date [lindex $commitinfo($id) 2]
    set date [formatdate $date]

没有更多代码可以更改date,因此从这里开始,您将对formatdate表达式(列表索引)中的初始值所做的lindex所做的工作陷入困境。

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

    set commitinfo($id) [list $headline $auname $audate \
                             $comname $comdate $comment $hasnote $diff]

(最后两行parsecommit,在1730行左右)。所以索引2是$audate,这是解析的作者日期。提交者日期来自索引4(索引1和3分别是作者和提交者)。

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

答案 1 :(得分:0)

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.patch中保存此修补程序并应用:

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

答案 2 :(得分:-1)

使用此选项显示提交日期

git show -s --format=%ci <commit>

查看手册页以获取其他日期字符串格式