secretbase.log

.NET/C#/Pythonなど

hgsubversion のコミット時刻が9時間ずれて表示される理由

hgsubversion を使って Subversionリポジトリを TortoiseHg のワークベンチで見ていたのですが、コミット時刻が9時間ずれていることに気づき、前からこうだったかな?と気になりました。

f:id:cointoss1973:20120921225803p:plain

理由

SubversionリポジトリUTCしか持っていないから。

Subversion では、UTC時刻をクライアント側でローカル時刻に変換して表示するという設計のようだ。hgsubversion では変換せずそのまま表示していて、Mercurial自体はというと、UTC と TIMEZONE がリポジトリに記録されていてローカル時刻に変換するという設計のため。

日本の場合、日本標準時間は、UTC+9 のため、9時間前に表示されることになる。

ちょっと気になってつぶやいたら、いつものように情報が集まり ...

どうやら既知の不具合だったようだ

hgsubversion の issue にも上がっていました。

durin42 / hgsubversion / issues / #153 - Time-zone problem — Bitbucket

ここ読むと対応が簡単ではないようですね。