UbuntuでMercurialリポジトリをhgweb.cgiで公開
まず、以前aptで入れたmercurialを削除する。こっちではhgwebが使えないので。
sudo apt-get remove mercurial
python開発環境とパッケージ管理ツールのeasy_installを入れる
sudo apt-get install python-dev python cd ~/tmp wget http://peak.telecommunity.com/dist/ez_setup.py sudo python ez_setup.py
これでeasy_installが使える
mercurialを再インストール
sudo easy_install -U mercurial
1.0.1が入った。
PythonでCGI - 橋本詳解の手順でapacheでpythonのcgiが動くように設定する。
hgweb.cgiを適当に修正してapache2の/var/www以下に設置、permissionなど適宜修正
hgweb.cgi
#!/usr/bin/python # # An example CGI script to use hgweb, edit as necessary # adjust python path if not a system-wide install: import sys #sys.path.insert(0, "/home/username/lib/python2.4/") # enable importing on demand to reduce startup time from mercurial import demandimport; demandimport.enable() # Uncomment to send python tracebacks to the browser if an error occurs: #import cgitb #cgitb.enable() # If you'd like to serve pages with UTF-8 instead of your default # locale charset, you can do so by uncommenting the following lines. # Note that this will cause your .hgrc files to be interpreted in # UTF-8 and all your repo files to be displayed using UTF-8. # import os os.environ["HGENCODING"] = "UTF-8" from mercurial.hgweb.hgweb_mod import hgweb import mercurial.hgweb.wsgicgi as wsgicgi application = hgweb("/path/to/repository", "repository name") wsgicgi.launch(application)
リポジトリを後ろから2行目で指定する