DreamhostでBazaarスマートサーバー
Page content
Bazaarのマニュアルをみていたら、「Bazaar スマートサーバー」というものがあり、おもしろそうだったので、Dreamhost でやってみました。Bazaar スマートサーバーを入れると「bzr+http://」が使えるようになり、push もできます。以下その記録。
http://example.com/ に構築する例でやります。なお、Python はビルドしたもので、~/local/bin/python とします。Bazaar もインストール済みで。
Options ExecCGI FollowSymLinks
RewriteEngine On
RewriteRule ^(.*/|)\.bzr/smart$ bzr-smart.fcgi [L]
PYTHONPATH の通っている site-packages に http://svn.saddi.com/py-lib/trunk/fcgi.py を置く。
http://example.com/bzr-smart.fcgi
#!/home/user/local/bin/python
import fcgi
from bzrlib.transport.http import wsgi
smart_server_app = wsgi.make_app(
root='/home/user/example.com',
prefix='/',
path_var='REQUEST_URI',
readonly=False,#読み込み専用かどうか
load_plugins=True,
enable_logging=True)
fcgi.WSGIServer(smart_server_app).run()
これで bzr push bzr+http://example.com/branch や bzr branch bzr+http://example.com/branch ができます。
http://example.com/.htaccess で認証をかけることもできます。