VisualHG と TimestampMod拡張を共存させる方法
+ 追記 + 需要はなさそうですが、codeplexのIssueにパッチを投稿しておきました。 しかし、TimestampModを利用するにはまだ不十分な点があったため、次に続きます。 ----------- しかしこれ需要あるのかなぁ。ないならひっそり自分だけで使うけど。 いろいろカスタマイズしたい部分もあるし。 欲しい人がいればリアクションしてください。 修正は、簡単なやり方だとhgstatusinfoのコンストラクタで new FileInfo(path) の前に File.Existでチェックする。そうじゃないとパス名として利用できない場合にFileInfoインスタンス作れなくて落ちる。 すぐ次の行でファイル存在チェックしているから問題はない。 だがそこで修正するのはイマイチなので他でチェックすべきなのでちょいと調査中。 この辺はまぁこだわりみたいなもんだからTimestampMod使いたいだけなら上記の箇所直して使えばいいと思うよ。 .hgignoreの対応を示していましたが不完全でした。原因だけのっけておきます。 Mercurialでファイル更新日付を維持してくれるTimestampMod拡張ですが、 VisualHGとTimestampMod拡張を同時に利用すると、 VisualHGが機能しなくなりますが、それの原因と回避方法を紹介します。 TimestampModの方を詳しく見ていませんが、 VisualHGがタブ文字(\t)入りのファイル名を受け取ってしまい、Windowsでサポートされないファイル名のためにエラーとなるのが原因でした。 <タブ文字だけではなくコロンもありました> なお、Linux環境では\tなどの文字を含むファイルを作成できますのでご注意を。 逆にWindows環境でしか利用しない場合はそもそもそういうファイルは作成できないので現状では問題ありません。 TimestampModで作成されるタブつきのファイル名はあとで書き戻すための一時的なファイルだと思いますので、ignoreしても問題ないと思っています。 VisualHG 1.1.5はTortoise 1.7あたりがベースだったと思うのでそのあたりも関係してるかも知れませんね。 # VisualHG 1.15 is compatible with 'tortoisehg-1.1.9.1-hg-1.7.5-x86.msi'.というコメントがDiscussionにある












