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