Mercurial > kallithea
annotate README.rst @ 530:a08f610e545e
Implemented server side forks
added ability to pass session to user/repo models
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 01 Oct 2010 00:16:09 +0200 |
parents | d64a3ab18845 |
children | efbab97c3aca |
rev | line source |
---|---|
254 | 1 ------------------------------------- |
253
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
2 Pylons based replacement for hgwebdir |
254 | 3 ------------------------------------- |
253
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
4 |
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
5 Fully customizable, with authentication, permissions. Based on vcs library. |
254 | 6 |
7 **Overview** | |
8 | |
9 - has it's own middleware to handle mercurial protocol request each request can | |
253
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
10 be logged and authenticated + threaded performance unlikely to hgweb |
325 | 11 - full permissions per project read/write/admin access even on mercurial request |
392
b27d32cb3157
Implemented hooks system,
Marcin Kuzminski <marcin@python-works.com>
parents:
364
diff
changeset
|
12 - mako templates let's you cusmotize look and feel of application. |
224
fdcef6ea3b55
Added readme, and changed version display
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
13 - diffs annotations and source code all colored by pygments. |
523 | 14 - mercurial branch graph and yui-flot powered graphs with zooming and statistics |
224
fdcef6ea3b55
Added readme, and changed version display
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
15 - admin interface for performing user/permission managments as well as repository |
392
b27d32cb3157
Implemented hooks system,
Marcin Kuzminski <marcin@python-works.com>
parents:
364
diff
changeset
|
16 managment. |
498
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
17 - full text search of source codes with indexing daemons using whoosh |
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
18 (no external search servers required all in one application) |
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
19 - async tasks for speed and performance using celery (works without them too) |
402
757c7eef0dcd
implemented gravatars into main bar.
Marcin Kuzminski <marcin@python-works.com>
parents:
392
diff
changeset
|
20 - Additional settings for mercurial web, (hooks editable from admin |
757c7eef0dcd
implemented gravatars into main bar.
Marcin Kuzminski <marcin@python-works.com>
parents:
392
diff
changeset
|
21 panel !) also manage paths, archive, remote messages |
325 | 22 - backup scripts can do backup of whole app and send it over scp to desired location |
290
702c7e565c56
docs update, version bump
Marcin Kuzminski <marcin@python-works.com>
parents:
254
diff
changeset
|
23 - setup project descriptions and info inside built in db for easy, non |
702c7e565c56
docs update, version bump
Marcin Kuzminski <marcin@python-works.com>
parents:
254
diff
changeset
|
24 file-system operations |
224
fdcef6ea3b55
Added readme, and changed version display
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
25 - added cache with invalidation on push/repo managment for high performance and |
392
b27d32cb3157
Implemented hooks system,
Marcin Kuzminski <marcin@python-works.com>
parents:
364
diff
changeset
|
26 always upto date data. |
402
757c7eef0dcd
implemented gravatars into main bar.
Marcin Kuzminski <marcin@python-works.com>
parents:
392
diff
changeset
|
27 - rss / atom feeds, gravatar support |
224
fdcef6ea3b55
Added readme, and changed version display
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
28 - based on pylons 1.0 / sqlalchemy 0.6 |
0 | 29 |
254 | 30 **Incoming** |
253
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
31 |
325 | 32 - code review based on hg-review (when it's stable) |
498
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
33 - git support (when vcs can handle it - almost there !) |
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
34 - commit based wikis |
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
35 - in server forks |
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
36 - clonning from remote repositories into hg-app |
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
37 - other cools stuff that i can figure out (or You can help me figure out) |
241
48727add84c9
Made repos path config configurable from pylons app configs. update Readme
Marcin Kuzminski <marcin@python-works.com>
parents:
224
diff
changeset
|
38 |
253
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
39 .. note:: |
392
b27d32cb3157
Implemented hooks system,
Marcin Kuzminski <marcin@python-works.com>
parents:
364
diff
changeset
|
40 This software is still in beta mode. |
b27d32cb3157
Implemented hooks system,
Marcin Kuzminski <marcin@python-works.com>
parents:
364
diff
changeset
|
41 I don't guarantee that it'll work correctly. |
253
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
42 |
241
48727add84c9
Made repos path config configurable from pylons app configs. update Readme
Marcin Kuzminski <marcin@python-works.com>
parents:
224
diff
changeset
|
43 |
253
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
44 ------------- |
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
45 Installation |
7effcce03192
docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents:
244
diff
changeset
|
46 ------------- |
523 | 47 |
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 | |
498
6aa7db1c083a
version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents:
402
diff
changeset
|
60 and an admin account make sure You specify correct path to repositories. |
523 | 61 - Remember that the given path for mercurial repositories must be write |
327
0e87466a117e
updated installation instruction, made more user friendly way of creating all needed configs. All is done now from paster setup-app
Marcin Kuzminski <marcin@python-works.com>
parents:
325
diff
changeset
|
62 accessible for the application |
523 | 63 - Run paster serve development.ini - or you can use sample init.d scripts. |
254 | 64 the app should be available at the 127.0.0.1:5000 |
523 | 65 - Use admin account you created to login. |
66 - Default permissions on each repository is read, and owner is admin. So remember | |
402
757c7eef0dcd
implemented gravatars into main bar.
Marcin Kuzminski <marcin@python-works.com>
parents:
392
diff
changeset
|
67 to update these. |
523 | 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 |