Show More
@@ -1,69 +1,82 b'' | |||
|
1 | 1 | ------------------------------------- |
|
2 | 2 | Pylons based replacement for hgwebdir |
|
3 | 3 | ------------------------------------- |
|
4 | 4 | |
|
5 | 5 | Fully customizable, with authentication, permissions. Based on vcs library. |
|
6 | 6 | |
|
7 | 7 | **Overview** |
|
8 | 8 | |
|
9 | 9 | - has it's own middleware to handle mercurial protocol request each request can |
|
10 | 10 | be logged and authenticated + threaded performance unlikely to hgweb |
|
11 | 11 | - full permissions per project read/write/admin access even on mercurial request |
|
12 | 12 | - mako templates let's you cusmotize look and feel of application. |
|
13 | 13 | - diffs annotations and source code all colored by pygments. |
|
14 | - mercurial branch graph and yui-flot powered graphs with zooming | |
|
14 | - mercurial branch graph and yui-flot powered graphs with zooming and statistics | |
|
15 | 15 | - admin interface for performing user/permission managments as well as repository |
|
16 | 16 | managment. |
|
17 | 17 | - full text search of source codes with indexing daemons using whoosh |
|
18 | 18 | (no external search servers required all in one application) |
|
19 | 19 | - async tasks for speed and performance using celery (works without them too) |
|
20 | 20 | - Additional settings for mercurial web, (hooks editable from admin |
|
21 | 21 | panel !) also manage paths, archive, remote messages |
|
22 | 22 | - backup scripts can do backup of whole app and send it over scp to desired location |
|
23 | 23 | - setup project descriptions and info inside built in db for easy, non |
|
24 | 24 | file-system operations |
|
25 | 25 | - added cache with invalidation on push/repo managment for high performance and |
|
26 | 26 | always upto date data. |
|
27 | 27 | - rss / atom feeds, gravatar support |
|
28 | 28 | - based on pylons 1.0 / sqlalchemy 0.6 |
|
29 | 29 | |
|
30 | 30 | **Incoming** |
|
31 | 31 | |
|
32 | 32 | - code review based on hg-review (when it's stable) |
|
33 | 33 | - git support (when vcs can handle it - almost there !) |
|
34 | 34 | - commit based wikis |
|
35 | 35 | - in server forks |
|
36 | 36 | - clonning from remote repositories into hg-app |
|
37 | 37 | - other cools stuff that i can figure out (or You can help me figure out) |
|
38 | 38 | |
|
39 | 39 | .. note:: |
|
40 | 40 | This software is still in beta mode. |
|
41 | 41 | I don't guarantee that it'll work correctly. |
|
42 | 42 | |
|
43 | 43 | |
|
44 | 44 | ------------- |
|
45 | 45 | Installation |
|
46 | 46 | ------------- |
|
47 | .. note:: | |
|
48 | I recomend to install tip version of vcs while the app is in beta mode. | |
|
49 | 47 | |
|
50 | ||
|
51 | - create new virtualenv and activate it - highly recommend that you use separate | |
|
52 | virtual-env for whole application | |
|
53 | - download hg app from default branch from bitbucket and run | |
|
54 | 'python setup.py install' this will install all required dependencies needed | |
|
55 | - run paster setup-app production.ini it should create all needed tables | |
|
48 | - I highly recommend to install new virtualenv for hg-app see | |
|
49 | http://pypi.python.org/pypi/virtualenv | |
|
50 | - Create new virtualenv using `virtualenv --no-site-packages /var/www/hgapp-venv` | |
|
51 | this will install new virtual env into /var/www/hgapp-venv. | |
|
52 | Activate the virtualenv by running | |
|
53 | `source activate /var/www/hgapp-venv/bin/activate` | |
|
54 | - Make a folder for hg-app somewhere on the filesystem for example /var/www/hgapp | |
|
55 | - Download and extract http://bitbucket.org/marcinkuzminski/hg-app/get/tip.zip | |
|
56 | into created directory. | |
|
57 | - Run `python setup.py install` in order to install the application and all | |
|
58 | needed dependencies. Make sure that You're using activated virutalenv | |
|
59 | - Run `paster setup-app production.ini` it should create all needed tables | |
|
56 | 60 | and an admin account make sure You specify correct path to repositories. |
|
57 |
- |
|
|
61 | - Remember that the given path for mercurial repositories must be write | |
|
58 | 62 | accessible for the application |
|
59 |
- |
|
|
63 | - Run paster serve development.ini - or you can use sample init.d scripts. | |
|
60 | 64 | the app should be available at the 127.0.0.1:5000 |
|
61 |
- |
|
|
62 |
- |
|
|
65 | - Use admin account you created to login. | |
|
66 | - Default permissions on each repository is read, and owner is admin. So remember | |
|
63 | 67 | to update these. |
|
64 |
- |
|
|
65 |
preferrably rabbitmq and start celeryd daemon |
|
|
66 | than. For installation instructions | |
|
67 | You can visit: http://ask.github.com/celery/getting-started/index.html. All | |
|
68 | needed configs are inside hg-app ie. celeryconfig.py | |
|
68 | - In order to use full power of async tasks, You must install message broker | |
|
69 | preferrably rabbitmq and start celeryd daemon together with hg-app. | |
|
70 | The app should gain a lot of speed and become much more responsible. | |
|
71 | For installation instructions You can visit: | |
|
72 | http://ask.github.com/celery/getting-started/index.html. | |
|
73 | - All needed configs are inside hg-app ie. celeryconfig.py , production.ini | |
|
74 | You can configure the email, ports, loggers, workers from there. | |
|
75 | - For full text search You can either put crontab entry for | |
|
76 | `python /var/www/hgapp/pylons_app/lib/indexers/daemon.py incremental <path_to_repos>` | |
|
77 | or run indexer from admin panel. This will scann the repos given in the | |
|
78 | application setup or given path for daemon.py and each scann in incremental | |
|
79 | mode will scann only changed files, | |
|
80 | Hg Update hook must be activated to index the content it's enabled by default | |
|
81 | after setup No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now