mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
gitk: Allow displaying time zones from author and commit dates timestamps
Now gitk can be configured to display author and commit dates in their original timezone, by putting %z into datetimeformat in ~/.gitk. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
4135d36b0c
commit
019e1630ac
24
gitk
24
gitk
|
@ -11580,7 +11580,29 @@ proc prefsok {} {
|
|||
proc formatdate {d} {
|
||||
global datetimeformat
|
||||
if {$d ne {}} {
|
||||
set d [clock format [lindex $d 0] -format $datetimeformat]
|
||||
# If $datetimeformat includes a timezone, display in the
|
||||
# timezone of the argument. Otherwise, display in local time.
|
||||
if {[string match {*%[zZ]*} $datetimeformat]} {
|
||||
if {[catch {set d [clock format [lindex $d 0] -timezone [lindex $d 1] -format $datetimeformat]}]} {
|
||||
# Tcl < 8.5 does not support -timezone. Emulate it by
|
||||
# setting TZ (e.g. TZ=<-0430>+04:30).
|
||||
global env
|
||||
if {[info exists env(TZ)]} {
|
||||
set savedTZ $env(TZ)
|
||||
}
|
||||
set zone [lindex $d 1]
|
||||
set sign [string map {+ - - +} [string index $zone 0]]
|
||||
set env(TZ) <$zone>$sign[string range $zone 1 2]:[string range $zone 3 4]
|
||||
set d [clock format [lindex $d 0] -format $datetimeformat]
|
||||
if {[info exists savedTZ]} {
|
||||
set env(TZ) $savedTZ
|
||||
} else {
|
||||
unset env(TZ)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
set d [clock format [lindex $d 0] -format $datetimeformat]
|
||||
}
|
||||
}
|
||||
return $d
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue