RedmineのSubversionのタグ

hg-gitは、こつさえつかめば、そこそこ使い物になるということは分かった。
普通のgitのリポジトリだったら。
んが、Redminegithubのミラーでは、svnのタグがhg-gitでもってくると、ヘッドになる。
これがうざい。
んで、hgsubvesionのは、svnのブランチを忠実に再現していて、最近のタグは、名前付きブランチ上に作成される。
大昔のはtrunkに作成される。
どこが境目なのか、って見たら、0.6.2までがtrunk、0.6.3からブランチ、だね。

Mercurial 1.8 と bookmark

TortoiseHg 2.0 がまぁ出ました。
これはおいておいて、Mercurial 1.8 の新機能のリストが上がるのはまだっぽいが、おそらく今回の最大の変更は bookmark が本体に入ったこと。
で、TortoiseHg 2.0 の最新のソースがこれが原因で動かなくなって久しい。
で、hg本体にもrpmを作るスクリプトが入っているので、さくっとrpmを作って入れる。

最大の問題は、bundleにbookmarkが保存されるか否か。
これによっては、またRedmineのテストリポジトリが動く動かないで手間がかかる。

で試した所、bundleにはbookmarkは保存されないようだ。


で、wiki上がっていた。
http://mercurial.selenic.com/wiki/UpgradeNotes#A1.8:_bookmarks_are_now_a_core_feature

これは・・・

Bookmarks are no longer listed by hg tags

やっぱ、tar ball でもテストリポジトリにbookmark当分入れられないな。

Windows の hgsubversion で ssh+svn

Linuxsvnにコミットできれば別にいいやって思っていたが、やっぱWindowsでもコミットできた方が楽。
んで、Windowsでhg-gitがどはまりして断念したから、多分hgsubversionもはまるだろうと思ったら、やっぱりはまった。

で、Mercurialsshの設定ではなく、svnの設定なのね。
んで、プロファイルのSubversion\configのところの[tunnels]に書けばいいらしい。
ま、svnコマンドが当然あるが、ここではまり。
puttyplinkだとコマンドラインで、yが入力できない。
んで、TortoiseHg のplinkでいった。

cygwin Mercurial で EUC-JP と Redmine

Redmineのファイル名のエンコードRuby 1.8 で動くのは分かっているが、WindowsRuby 1.9で動くかどうか、やってみないことには分からないので、やってみた。
Ruby 1.9 mingwRedmine思いのほかあっさり動いた。
SJISダメ文字問題があるのが分かっているから、cygwin Mercurial 使ったことが無かった(相当最初のころに使った気もしないでもない)ので、EUCで。
びっくらこいた。チェックアウトできた。
んが、チェックアウトすることが目的ではないので、ここまで。
んで、エンコードの、1.9で動きませんでした。
さて・・・

redmine の SCM のログのエンコード

Redmineの大事件をパブリックに書くのは危険だからおいておいて、MQという武器があるんだから、どうせならみんな一緒にやっちまえ、ってことで、ログのエンコードまわりのこと。

Mercurialは内部はUTF-8っぽいなぁってのは感じていて、例のwikiでやっぱりか、ってのは良い。
Subversionは多分UTF-8なんだろう。
Bazaarは今のところはロケール

で、CVS
EUC-JPとSJIS混在やっちゃったんだよね。んで、Mercurialにコンバートしたときにおかしくなっちゃった。ま、これが、MercurialUTF-8だろ、っていう直感でもあったんだが。
CVS1.12がどうかがよくわからんが、ま、多分一緒でしょ。

で、git。
ぐぐった。
http://2chnull.info/r/linux/1197798039/450-454

で、やってみた。
git cat-file commit ハッシュ値で、確かに、"encoding EUC-JP"って入っている。

Redmine 1.1 に上げるか

ってことで、Mercurialのscmidに変えようよ、てのcloseしても良い気がするんだが、今までの見栄えは出きるだけ変えないというものと違って、大幅に見栄えとリンクが変わる。
だから、きちんと書かないといけない。
んで、画面をペタペタ貼った方が良い気がする。
んで、annotateだけ特殊だから取った。
んで、それ以外の所で・・・

Redmineのbitbucketのミラーのコミットログに思いっきりリビジョン番号が入っている・・・
こりゃだめだ・・・

1.1とtrunk、適宜 tmp/restart.txt 書き換えればいいやって思ったが面倒。

1.1にMercurialを使うための最低条件、auto issue close text と並び順=取り込みパフォーマンスが入った(というより入れた)ので、上げますか。

TortoiseHg PyGTK 版のスペルチェッカー

ってことで、あーあ、Subversiontypoコミットしちゃった。
Linux上のhgsubversionでMQ使って何度もコミットメッセージ書き換えて、outgoingでチェックしてって、Mercurialらしいやり方をしていたのに・・・
やっぱりスペルチェッカーが必要だ。
ぐぐったら、gtk/gnomeで出来るようだ。出来た。
んが、PyGTK版はあと少しの運命・・・