MacにNetBeansでMercurialその4 - 公開リポジトリ作成
そんな訳で、公開リポジトリを作成してみたいと思います。上手く作成できるとこんな感じになるらしいです。
SubversionのWebDAVのデフォルトサイトよりは多少色気があるような無いような、ちょっとsourceforgeっぽいようななんなような。とりあえず、作成してみたいと思います。本当は上記サイトにあるように公開ディレクトリを作成してその中で個々のリポジトリを公開する方式をとりたかったのですが、なんだかCGIが上手く動かなかったのでとりあえず簡単そうなリポジトリを直接公開する方式を試してみることにします。
$ mkdir ~/hgrepository/ $ cp -pR ~/NetBeansProjects/test/ ~/hgrepository/test/
$ cd ~/hgrepository/test/ $ hg init $ hg add $ hg commit -u admin -m "test added"
- 公開用スクリプト作成
- とりあえずこんな感じ
$ cat ~/hgrepository/test/hgweb.py import os os.environ["HGENCODING"] = "UTF-8" from mercurial.hgweb.hgweb_mod import hgweb from mercurial.hgweb.request import wsgiapplication import mercurial.hgweb.wsgicgi as wsgicgi def make_web_app(): return hgweb("/Users/bachi_mk2/hgrepository/test", "Test Repository") wsgicgi.launch(wsgiapplication(make_web_app))
- 公開用Webサーバ起動
- こんな感じ
$ hg serve
なんとなく起動したので、NetBeansからチェックアウト(クローン)してみる。
- メニューバーから、「バージョン→Mercurial→他をクローン」を選択
- リポジトリURLに「http://localhost:8000/hgweb.py」を入力して「次へ」をクリック
- デフォルトのプッシュパスとプルパスはそのままで「次へ」をクリック
- クローン名は「test」と入力して「完了」をクリック
・・・見事に失敗。曰く、
abort: unknown encoding: X-MAC-JAPANESE, please check your locale settings
やっぱりX-MAC-JAPANESEか・・・
普通は、環境変数「HGENCODING」に「utf-8」とか設定すると上手く行くらしいんだけど、どうもMacだとそうでも無いらしいというブログを発見。
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/me rcurial/util.py
の、
_encoding = os.environ.get("HGENCODING")
の部分を、
_encoding = 'utf-8'
とハードコーディングする裏技に出ねばならないらしい。すると、見事クローンに成功したらしいので、「プロジェクトを開く」をクリック。
色々変更したりコミットしたりしてみる。
相変わらず使い方が分からなかったり・・・