日本語ファイルを登録してhttp経由で見たんだけど文字化けしまくりだ。
あれれ?手元にあったmercurial v0.9.1では検索してもcharsetにあたる記述がどこにも
ないぞ。えー設定できない?自分で文字コード設定するようにしないといけないの?と思
ったが最新版v0.9.4を見るとちゃんと設定できるようになっていた。ただしファイルごと
に文字コードを設定するってことはできなさそうだけど、単一の文字コードを使う分には
問題ないしね。
ということでupdate。前に何をしたかすっかり忘れちゃったので、今回もすぐ忘れるだろ
うからメモっておこう。
- mercurial-0.9.4.tar.gzをdownloadしてきてインストールする
「$ easy_install mercurial」 ってしてもいいんだけど、そうすると(2)で困るので
tarballで持ってきた。
- 解凍したディレクトリにあるhgwebdir.cgiをサーバのcgiディレクトリへコピーする
- 「import user」を先頭の方に追加
この設定がしてあるため「import user」とすることでPYTHONPATHが有効になる
- import os; os.environ["HGENCODING"] = "UTF-8" を有効にする
- hgwebdir.cgiと同じディレクトリにhgweb.configを置いて下記の用に公開したいレポジトリを記述する
[paths]
repository1 = /usr/local/share/repo1
repository2 = /usr/local/share/repo2/subtree/hoge
6. これでブラウザでhttp://xxx/hgwebdir.cgiにアクセスできる。後は各レポジトリのディレクトリ
ごとに、/xx/xx/.hg/hgrcに設定を書く
[web]
description = レポジトリ一覧に表示される説明文
- またローカル環境にもmercurialが入っていれば下記コマンドでローカルリポジトリを作成できる
$ hg clone http://xxx/hgwebdir.cgi/repository1
後は下記にあったように、http経由でpushしたいな、と。
確かに「allow_push = *」ってやればいけるけど、どうせならここにユーザ名を指定し
てみたいと思ってちょっと試したんだけど、もうひとつうまくいかないな。
.hgrc - Mercurial
どうやるんだろ?
無事に移転完了しました。
今使ってるsh1.2-d.jpドメインはさくらのサブドメインなので、ライトプランで使って
たのをスタンダードプランで使うためには一旦解除して再登録する必要があって、一旦
解除したものの、その後登録できなかったら困るなーとちょっとどきどきしましたが無
事に取ることができました。良かったです。
せっかくの機会なので、デザインを変更してみました。デザインセンスがないので今回
は、 CSS着せ替えテンプレートプロジェクト! の基礎HTMLをテンプレートとして
使用し、デザインファイルは stans さんのデザインテンプレートを使用させて頂
きました。
あと今回の トップページ は、templateをダイレクトで呼び出すだけにdjangoを
使うという贅沢ぶりです。単に使ってみたかったというのと今後なんか拡張するのに使
いたいなという思いからです。現在はりんごの皮をむくのにチェーンソーを持ってきた
ような感じですね。ちなみにこのdjangoはcgiで動かしています。
他には、自作のスクリプト用にMercurialを使ったバージョン管理を
webから参照できるようにしてみました。 一旦公開したものを後から修正する時に
どうやって公開しようか悩んでたのでこれで解決かな。
まだ移行できてないものもちょっと残ってるんですが、後はぼちぼちやっていきます。
さくらのライトプランとスタンダードプランは別々のサーバで運用されているため、昨年末にスタンダードプランに申し込んだものの移転作業が面倒くさくて、かなーり放置ぎみだったのですが、やっとpyblosxomが大体動くようになりました。
そのため今週末をめどに移転しようと思っています。
しばらくアクセスできなくなりますがご了承下さい。
で設定について書いたけど、使ってみたら間違ってた箇所があったので訂正。
「~/local/lib/python/site-packages」にモジュールを置くつもりなら、
export PYTHONPATH=/home/xxx/local/lib/python/site-packages
としなければならない。
sys.path.append()ではなく、site.addsitedir()を使わないとsite-packages以下
にeasy_installを使ってインストールしたモジュールパスが反映されない。
#!/usr/bin/env python
import site
site.addsitedir('/home/xxx/local/lib/python/site-packages')
これで、後は使いたいモジュールにて「import user」とすればローカルに
置いたモジュールも参照できます。
site-packagesまで入れないと、site-packages以下にインストールされない。
[install]
install_lib = ~/local/lib/python/site-packages
install_script = ~/local/bin