Mercurial > kallithea
comparison README.rst @ 572:a60cd29ba7e2
more docs update
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 10 Oct 2010 21:34:24 +0200 |
parents | ba7e24cd4786 |
children | 5c734b99c4db |
comparison
equal
deleted
inserted
replaced
571:39d9aca6e266 | 572:a60cd29ba7e2 |
---|---|
1 ------------------------------------------------ | |
2 Pylons based repository management for mercurial | |
3 ------------------------------------------------ | |
4 | 1 |
5 **Overview** | 2 RhodeCode (RhodiumCode) |
3 ======================= | |
6 | 4 |
7 - Has it's own middleware to handle mercurial protocol request. Each request can | 5 ``RhodeCode`` (formerly hg-app) is Pylons based repository management and |
6 serving for mercurial_. It's similar to github or bitbucket, but it's suppose to run | |
7 as standalone app, it's open source and focuses more on restricted access to repositories | |
8 There's no default free access to RhodeCode You have to create an account in order | |
9 to use the application. It's powered by vcs_ library that we created to handle | |
10 many various version control systems. | |
11 | |
12 RhodeCode uses `Semantic Versioning <http://semver.org/>`_ | |
13 | |
14 | |
15 RhodeCode demo | |
16 -------------- | |
17 | |
18 http://hg.python-works.com | |
19 | |
20 The default access is | |
21 | |
22 - username: demo | |
23 - password: demo | |
24 | |
25 Source code | |
26 ----------- | |
27 | |
28 Source code is along with issue tracker is available at | |
29 http://bitbucket.org/marcinkuzminski/rhodecode | |
30 | |
31 Also a source codes can be obtained from demo rhodecode instance | |
32 http://hg.python-works.com/rhodecode/summary | |
33 | |
34 Instalation | |
35 ----------- | |
36 | |
37 Please visit http://packages.python.org/rhodecode/installation.html | |
38 | |
39 | |
40 Features | |
41 -------- | |
42 | |
43 - Has it's own middleware to handle mercurial_ protocol request. Each request can | |
8 be logged and authenticated. Runs on threads unlikely to hgweb You can make | 44 be logged and authenticated. Runs on threads unlikely to hgweb You can make |
9 multiple pulls/pushes simultaneous | 45 multiple pulls/pushes simultaneous |
10 - Full permissions and authentication per project private/read/write/admin. | 46 - Full permissions and authentication per project private/read/write/admin. |
11 One account for web interface and mercurial push/pull/clone. | 47 One account for web interface and mercurial_ push/pull/clone. |
12 - Mako templates let's you customize look and feel of application. | 48 - Mako templates let's you customize look and feel of application. |
13 - Beautiful diffs, annotations and source codes all colored by pygments. | 49 - Beautiful diffs, annotations and source codes all colored by pygments. |
14 - Mercurial branch graph and yui-flot powered graphs with zooming and statistics | 50 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics |
15 - Admin interface with user/permission management. User activity journal logs | 51 - Admin interface with user/permission management. User activity journal logs |
16 pulls, pushes, forks,registrations. Possible to disable built in hooks | 52 pulls, pushes, forks,registrations. Possible to disable built in hooks |
17 - Server side forks, it's possible to fork a project and hack it free without | 53 - Server side forks, it's possible to fork a project and hack it free without |
18 breaking the main. | 54 breaking the main. |
19 - Full text search on source codes, search on file names. All powered by whoosh | 55 - Full text search on source codes, search on file names. All powered by whoosh |
20 and build in indexing daemons | 56 and build in indexing daemons |
21 (no external search servers required all in one application) | 57 (no external search servers required all in one application) |
22 - Rss / atom feeds, gravatar support, download sources as zip/tarballs | 58 - Rss / atom feeds, gravatar support, download sources as zip/tarballs |
23 - Async tasks for speed and performance using celery (works without them too) | 59 - Async tasks for speed and performance using celery_ (works without them too) |
24 - Backup scripts can do backup of whole app and send it over scp to desired | 60 - Backup scripts can do backup of whole app and send it over scp to desired |
25 location | 61 location |
26 - Setup project descriptions and info inside built in db for easy, non | 62 - Setup project descriptions and info inside built in db for easy, non |
27 file-system operations | 63 file-system operations |
28 - Added cache with invalidation on push/repo management for high performance and | 64 - Added cache with invalidation on push/repo management for high performance and |
29 always up to date data. | 65 always up to date data. |
30 - Based on pylons 1.0 / sqlalchemy 0.6 / sqlite | 66 - Based on pylons 1.0 / sqlalchemy 0.6 / sqlite |
31 | 67 |
32 **Incoming** | |
33 | 68 |
34 - code review based on hg-review (when it's stable) | 69 Incoming |
35 - git support (when vcs can handle it - almost there !) | 70 -------- |
36 - commit based wikis | 71 |
37 - clonning from remote repositories into rhodecode (git/mercurial) | 72 - code review (probably based on hg-review) |
73 - git_ support (when vcs_ can handle it - it's almost there !) | |
74 - commit based build in wiki system | |
75 - clone points and cloning from remote repositories into rhodecode (git_ and mercurial_) | |
76 - some cache optimizations | |
38 - other cools stuff that i can figure out (or You can help me figure out) | 77 - other cools stuff that i can figure out (or You can help me figure out) |
39 | |
40 ------------ | |
41 Installation | |
42 ------------ | |
43 | 78 |
44 **quick setup** | 79 License |
45 | 80 ------- |
46 - pip install -E rhodecode-venv rhodecode | |
47 - activate virtualenv | |
48 - run `paster make-config RhodeCode production.ini` | |
49 - run `paster setup-app production.ini` | |
50 - run `paster runserver production.ini` | |
51 | 81 |
52 You're ready to go. | 82 ``rhodecode`` is released under GPL_ license. |
53 | 83 |
54 **MORE DETAILED INSTRUCTIONS** | |
55 | 84 |
56 - I highly recommend to install new virtualenv for rhodecode see | 85 Documentation |
57 http://pypi.python.org/pypi/virtualenv for more details. | 86 ------------- |
58 - Create new virtualenv using `virtualenv --no-site-packages /var/www/rhodecode-venv` | 87 |
59 this will install new virtual env into /var/www/rhodecode-venv. | 88 Online documentation for current version is available at |
60 Activate the virtualenv by running | 89 http://packages.python.org/rhodecode/. |
61 `source activate /var/www/rhodecode-venv/bin/activate` | 90 You may also build documentation for yourself - go into ``docs/`` and run:: |
62 - Make a folder for rhodecode somewhere on the filesystem for example /var/www/rhodecode | 91 |
63 - Run easy_install rhodecode | 92 make html |
64 - Run `paster make-config RhodeCode production.inii` in order to install | 93 |
65 the application config. You can play with the app settings later | |
66 - Run `paster setup-app production.ini` it should create all needed tables | |
67 and an admin account make sure You specify correct path to repositories. | |
68 - Remember that the given path for mercurial repositories must be write | |
69 accessible for the application | |
70 - Run paster serve production.ini - or you can use sample init.d scripts. | |
71 the app should be available at the 127.0.0.1:5000 | |
72 - Use admin account you created to login. | |
73 - Default permissions on each repository is read, and owner is admin. So remember | |
74 to update these. | |
75 - In order to use full power of async tasks, You must install message broker | |
76 preferably rabbitmq and start celeryd daemon together with rhodecode. | |
77 The app should gain a lot of speed and become much more responsible. | |
78 For installation instructions You can visit: | |
79 http://ask.github.com/celery/getting-started/index.html. | |
80 - All needed configs are inside rhodecode sources ie. celeryconfig.py, | |
81 development.ini, production.ini You can configure the email, ports, loggers, | |
82 workers from there. | |
83 - For full text search You can either put crontab entry for | |
84 `python /var/www/rhodecode/rhodecode/lib/indexers/daemon.py incremental <path_to_repos>` | |
85 or run indexer from admin panel. This will scann the repos given in the | |
86 application setup or given path for daemon.py and each scann in incremental | |
87 mode will scann only changed files. |