hgsubversion のコミット時刻が9時間ずれて表示される理由
hgsubversion を使って Subversionリポジトリを TortoiseHg のワークベンチで見ていたのですが、コミット時刻が9時間ずれていることに気づき、前からこうだったかな?と気になりました。
理由
Subversion のリポジトリがUTCしか持っていないから。
Subversion では、UTC時刻をクライアント側でローカル時刻に変換して表示するという設計のようだ。hgsubversion では変換せずそのまま表示していて、Mercurial自体はというと、UTC と TIMEZONE がリポジトリに記録されていてローカル時刻に変換するという設計のため。
ちょっと気になってつぶやいたら、いつものように情報が集まり ...
hgsubversion が TIMEZONE を無視しているようだ。こういう仕様なのかな.. #mercurialjp
— こいんとすさん (@cointoss1973) 9月 21, 2012
#mercurialjp @flyingfoozy @cointoss1973 Linux/Windowsで長らくhgsubversionを使っていますが、Subversion自体がタイムゾーンを保存していないだけかと思います。
— Toshi MARUYAMAさん (@marutosijp) 9月 21, 2012
@flyingfoozy @marutosijp Subversionの仕様で、とりあえずそういうものだと理解しました。issueもみつけました。 bitbucket.org/durin42/hgsubv… #mercurialjp
— こいんとすさん (@cointoss1973) 9月 21, 2012
どうやら既知の不具合だったようだ
hgsubversion の issue にも上がっていました。
durin42 / hgsubversion / issues / #153 - Time-zone problem — Bitbucket
ここ読むと対応が簡単ではないようですね。