comparison README.rst @ 564:ba7e24cd4786

refactor codes and setup for python 2.5 readme update
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 09 Oct 2010 16:05:14 +0200
parents 2642f128ad46
children a60cd29ba7e2
comparison
equal deleted inserted replaced
562:1a77a0c350f5 564:ba7e24cd4786
1 -------------------------------------------------------------- 1 ------------------------------------------------
2 Pylons based repository management for mercurial (and soon git) 2 Pylons based repository management for mercurial
3 -------------------------------------------------------------- 3 ------------------------------------------------
4
5 Fully customizable, with authentication, permissions. Based on vcs library.
6 4
7 **Overview** 5 **Overview**
8 6
9 - has it's own middleware to handle mercurial protocol request each request can 7 - Has it's own middleware to handle mercurial protocol request. Each request can
10 be logged and authenticated + threaded performance unlikely to hgweb 8 be logged and authenticated. Runs on threads unlikely to hgweb You can make
11 - full permissions per project read/write/admin access even on mercurial request 9 multiple pulls/pushes simultaneous
12 - mako templates let's you customize look and feel of application. 10 - Full permissions and authentication per project private/read/write/admin.
13 - diffs annotations and source code all colored by pygments. 11 One account for web interface and mercurial push/pull/clone.
14 - mercurial branch graph and yui-flot powered graphs with zooming and statistics 12 - Mako templates let's you customize look and feel of application.
15 - admin interface for performing user/permission managements as well as repository 13 - Beautiful diffs, annotations and source codes all colored by pygments.
16 management. 14 - Mercurial branch graph and yui-flot powered graphs with zooming and statistics
17 - server side forks, it's possible to fork a project and hack it free without 15 - Admin interface with user/permission management. User activity journal logs
16 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
18 breaking the main. 18 breaking the main.
19 - full text search of source codes with indexing daemons using whoosh 19 - Full text search on source codes, search on file names. All powered by whoosh
20 and build in indexing daemons
20 (no external search servers required all in one application) 21 (no external search servers required all in one application)
21 - async tasks for speed and performance using celery (works without them too) 22 - Rss / atom feeds, gravatar support, download sources as zip/tarballs
22 - Additional settings for mercurial web, (hooks editable from admin 23 - Async tasks for speed and performance using celery (works without them too)
23 panel !) also manage paths, archive, remote messages 24 - Backup scripts can do backup of whole app and send it over scp to desired
24 - backup scripts can do backup of whole app and send it over scp to desired location 25 location
25 - setup project descriptions and info inside built in db for easy, non 26 - Setup project descriptions and info inside built in db for easy, non
26 file-system operations 27 file-system operations
27 - added cache with invalidation on push/repo management for high performance and 28 - Added cache with invalidation on push/repo management for high performance and
28 always up to date data. 29 always up to date data.
29 - rss / atom feeds, gravatar support 30 - Based on pylons 1.0 / sqlalchemy 0.6 / sqlite
30 - based on pylons 1.0 / sqlalchemy 0.6
31 31
32 **Incoming** 32 **Incoming**
33 33
34 - code review based on hg-review (when it's stable) 34 - code review based on hg-review (when it's stable)
35 - git support (when vcs can handle it - almost there !) 35 - git support (when vcs can handle it - almost there !)
36 - commit based wikis 36 - commit based wikis
37 - clonning from remote repositories into rhodecode (git/mercurial) 37 - clonning from remote repositories into rhodecode (git/mercurial)
38 - other cools stuff that i can figure out (or You can help me figure out) 38 - other cools stuff that i can figure out (or You can help me figure out)
39
40 ------------
41 Installation
42 ------------
39 43
40 .. note:: 44 **quick setup**
41 This software is still in beta mode.
42 I don't guarantee that it'll work correctly.
43
44
45 -------------
46 Installation
47 -------------
48
49 quick setup
50 45
51 - pip install -E rhodecode-venv http://bitbucket.org/marcinkuzminski/rhodecode/get/tip.zip 46 - pip install -E rhodecode-venv rhodecode
52 - activate virtualenv 47 - activate virtualenv
53 - run `paster make-config RhodeCode production.ini` 48 - run `paster make-config RhodeCode production.ini`
54 - run `paster setup-app production.ini` 49 - run `paster setup-app production.ini`
55 - run `paster runserver production.ini` 50 - run `paster runserver production.ini`
56 51
57 You're ready to go. 52 You're ready to go.
58 53
59 54 **MORE DETAILED INSTRUCTIONS**
60 MORE DETAILED INSTRUCTIONS
61 55
62 - I highly recommend to install new virtualenv for rhodecode see 56 - I highly recommend to install new virtualenv for rhodecode see
63 http://pypi.python.org/pypi/virtualenv for more details. 57 http://pypi.python.org/pypi/virtualenv for more details.
64 - Create new virtualenv using `virtualenv --no-site-packages /var/www/rhodecode-venv` 58 - Create new virtualenv using `virtualenv --no-site-packages /var/www/rhodecode-venv`
65 this will install new virtual env into /var/www/rhodecode-venv. 59 this will install new virtual env into /var/www/rhodecode-venv.
66 Activate the virtualenv by running 60 Activate the virtualenv by running
67 `source activate /var/www/rhodecode-venv/bin/activate` 61 `source activate /var/www/rhodecode-venv/bin/activate`
68 - Make a folder for rhodecode somewhere on the filesystem for example /var/www/rhodecode 62 - Make a folder for rhodecode somewhere on the filesystem for example /var/www/rhodecode
69 - Run easy_install http://bitbucket.org/marcinkuzminski/rhodecode/get/tip.zip. 63 - Run easy_install rhodecode
70 - Run `paster make-config RhodeCode production.inii` in order to install 64 - Run `paster make-config RhodeCode production.inii` in order to install
71 the application config. You can play with the app settings later 65 the application config. You can play with the app settings later
72 - Run `paster setup-app production.ini` it should create all needed tables 66 - Run `paster setup-app production.ini` it should create all needed tables
73 and an admin account make sure You specify correct path to repositories. 67 and an admin account make sure You specify correct path to repositories.
74 - Remember that the given path for mercurial repositories must be write 68 - Remember that the given path for mercurial repositories must be write
81 - In order to use full power of async tasks, You must install message broker 75 - In order to use full power of async tasks, You must install message broker
82 preferably rabbitmq and start celeryd daemon together with rhodecode. 76 preferably rabbitmq and start celeryd daemon together with rhodecode.
83 The app should gain a lot of speed and become much more responsible. 77 The app should gain a lot of speed and become much more responsible.
84 For installation instructions You can visit: 78 For installation instructions You can visit:
85 http://ask.github.com/celery/getting-started/index.html. 79 http://ask.github.com/celery/getting-started/index.html.
86 - All needed configs are inside rhodecode ie. celeryconfig.py , production.ini 80 - All needed configs are inside rhodecode sources ie. celeryconfig.py,
87 You can configure the email, ports, loggers, workers from there. 81 development.ini, production.ini You can configure the email, ports, loggers,
82 workers from there.
88 - For full text search You can either put crontab entry for 83 - For full text search You can either put crontab entry for
89 `python /var/www/rhodecode/rhodecode/lib/indexers/daemon.py incremental <path_to_repos>` 84 `python /var/www/rhodecode/rhodecode/lib/indexers/daemon.py incremental <path_to_repos>`
90 or run indexer from admin panel. This will scann the repos given in the 85 or run indexer from admin panel. This will scann the repos given in the
91 application setup or given path for daemon.py and each scann in incremental 86 application setup or given path for daemon.py and each scann in incremental
92 mode will scann only changed files, 87 mode will scann only changed files.
93 Hg Update hook must be activated to index the content it's enabled by default
94 after setup