README.rst
80 lines
| 3.9 KiB
| text/x-rst
|
RstLexer
r254 | ------------------------------------- | ||
r253 | Pylons based replacement for hgwebdir | ||
r254 | ------------------------------------- | ||
r253 | |||
Fully customizable, with authentication, permissions. Based on vcs library. | |||
r254 | |||
**Overview** | |||
- has it's own middleware to handle mercurial protocol request each request can | |||
r253 | be logged and authenticated + threaded performance unlikely to hgweb | ||
r325 | - full permissions per project read/write/admin access even on mercurial request | ||
r540 | - mako templates let's you customize look and feel of application. | ||
r253 | - diffs annotations and source code all colored by pygments. | ||
r523 | - mercurial branch graph and yui-flot powered graphs with zooming and statistics | ||
r540 | - admin interface for performing user/permission managements as well as repository | ||
management. | |||
r498 | - full text search of source codes with indexing daemons using whoosh | ||
(no external search servers required all in one application) | |||
- async tasks for speed and performance using celery (works without them too) | |||
r402 | - Additional settings for mercurial web, (hooks editable from admin | ||
panel !) also manage paths, archive, remote messages | |||
r325 | - backup scripts can do backup of whole app and send it over scp to desired location | ||
r290 | - setup project descriptions and info inside built in db for easy, non | ||
file-system operations | |||
r540 | - added cache with invalidation on push/repo management for high performance and | ||
always up to date data. | |||
r402 | - rss / atom feeds, gravatar support | ||
r253 | - based on pylons 1.0 / sqlalchemy 0.6 | ||
r254 | **Incoming** | ||
r253 | |||
r325 | - code review based on hg-review (when it's stable) | ||
r498 | - git support (when vcs can handle it - almost there !) | ||
- commit based wikis | |||
- in server forks | |||
- clonning from remote repositories into hg-app | |||
- other cools stuff that i can figure out (or You can help me figure out) | |||
r253 | |||
.. note:: | |||
r392 | This software is still in beta mode. | ||
I don't guarantee that it'll work correctly. | |||
r253 | |||
------------- | |||
Installation | |||
------------- | |||
r523 | |||
- I highly recommend to install new virtualenv for hg-app see | |||
http://pypi.python.org/pypi/virtualenv | |||
- Create new virtualenv using `virtualenv --no-site-packages /var/www/hgapp-venv` | |||
this will install new virtual env into /var/www/hgapp-venv. | |||
Activate the virtualenv by running | |||
`source activate /var/www/hgapp-venv/bin/activate` | |||
- Make a folder for hg-app somewhere on the filesystem for example /var/www/hgapp | |||
- Download and extract http://bitbucket.org/marcinkuzminski/hg-app/get/tip.zip | |||
into created directory. | |||
- Run `python setup.py install` in order to install the application and all | |||
needed dependencies. Make sure that You're using activated virutalenv | |||
- Run `paster setup-app production.ini` it should create all needed tables | |||
r498 | and an admin account make sure You specify correct path to repositories. | ||
r523 | - Remember that the given path for mercurial repositories must be write | ||
r327 | accessible for the application | ||
r523 | - Run paster serve development.ini - or you can use sample init.d scripts. | ||
r254 | the app should be available at the 127.0.0.1:5000 | ||
r523 | - Use admin account you created to login. | ||
- Default permissions on each repository is read, and owner is admin. So remember | |||
r402 | to update these. | ||
r523 | - In order to use full power of async tasks, You must install message broker | ||
r540 | preferably rabbitmq and start celeryd daemon together with hg-app. | ||
r523 | The app should gain a lot of speed and become much more responsible. | ||
For installation instructions You can visit: | |||
http://ask.github.com/celery/getting-started/index.html. | |||
- All needed configs are inside hg-app ie. celeryconfig.py , production.ini | |||
You can configure the email, ports, loggers, workers from there. | |||
- For full text search You can either put crontab entry for | |||
`python /var/www/hgapp/pylons_app/lib/indexers/daemon.py incremental <path_to_repos>` | |||
or run indexer from admin panel. This will scann the repos given in the | |||
application setup or given path for daemon.py and each scann in incremental | |||
mode will scann only changed files, | |||
Hg Update hook must be activated to index the content it's enabled by default | |||
after setup |