Mercurial存储库管理工具
django-hgadmin的Python项目详细描述
功能
- 创建新存储库并删除
- 删除前创建备份tarball
- 更改存储库设置
- 认证
安装
- 创建新的django项目
- 设置HGWEBDIR_CONF,HGWEBDIR_WSGI,HGWEBDIR_ROOT路径 并设置HGADMIN_ALLOW_REMOVEtrue或false
- cange apache配置(参见示例)
- 把你的回购协议和运行 $ python manage.py syncdb
- 是吗???
- 利润:)
示例
项目树
project |-- __init__.py |-- auth.wsgi -> ./hgadmin/auth.wsgi |-- django.wsgi |-- hgadmin |-- hgweb.config |-- hgwebdir.wsgi |-- manage.py |-- repos | |-- test0 | |-- test1.tar.bz2 | `-- test2 |-- settings.py `-- urls.py
django设置
## # Helpers import os.path PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__)) ## # Paths HGWEBDIR_CONF = os.path.join(PROJECT_ROOT, 'hgweb.config') HGWEBDIR_WSGI = os.path.join(PROJECT_ROOT, 'hgwebdir.wsgi') HGWEBDIR_ROOT = os.path.join(PROJECT_ROOT, 'repos') ## # Allow remove repo from server. # Be careful! HGADMIN_ALLOW_REMOVE = False
apache设置
<VirtualHost *:80> ServerAdmin webmaster@example.com ServerName hg.example.com DocumentRoot /path/to/hg/root ## # WSGI # # WSGIProcessGroup group-name # WSGIDaemonProcess group-name user=username group=group maximum-requests=2000 # # Django settings.HGWEBDIR_WSGI WSGIScriptAlias / /path/to/hgwebdir.wsgi <Location /> Order allow,deny Allow from all ## # WSGI based auth AuthName "Mercurial repository" AuthType Basic AuthBasicProvider wsgi WSGIAuthUserScript /path/to/hgadmin/auth.wsgi <LimitExcept GET> Require valid-user </LimitExcept> </Location> LogLevel debug ErrorLog /var/log/httpd/hg.example.com-error.log CustomLog /var/log/httpd/hg.example.com-access.log common </VirtualHost>