threads / patch / 259

patchfix git log time display for western timezones

Subject: [PATCH] fix git log time display for western timezones

## tl;dr

One message between Apr 23, 2005 and Apr 23, 2005. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Nicolas Pitre· Apr 23, 2005, 03:06 UTC · lore

It appears that the date command doesn't know how to substract time and always adds it. The time zone fixup has to be done separately otherwise time displayed in a negative time zone is wrong.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Show changes to diff +3 −2
Index: gitlog.sh
===================================================================
--- 2a91836b5814ffacb1fde000dfb1e55457761c88/gitlog.sh  (mode:100755 sha1:53b55be31b38b2ab88434cf1ac0a868700e64525)
+++ uncommitted/gitlog.sh  (mode:100775)
@@ -56,8 +56,9 @@
 
 				date=(${rest#*> })
 				sec=${date[0]}; tz=${date[1]}
-				dtz=${tz/+/+ }; dtz=${dtz/-/- }
-				pdate="$(date -Rud "1970-01-01 UTC + $sec sec $dtz" 2>/dev/null)"
+				dtz=${tz/+/}
+				lsec=$(expr $dtz / 100 \* 3600 + $dtz % 100 \* 60 + $sec)
+				pdate="$(date -Rud "1970-01-01 UTC + $lsec sec" 2>/dev/null)"
 				if [ "$pdate" ]; then
 					echo -n $color$key $rest | sed "s/>.*/> ${pdate/+0000/$tz}/"
 					echo $coldefault

← back to recent threads