##// END OF EJS Templates
- Further corrections.
jfh -
r1091:e67786cb default
parent child Browse files
Show More
@@ -3,14 +3,16 b''
3 Welcome to RhodeCode (RhodiumCode) documentation!
3 Welcome to RhodeCode (RhodiumCode) documentation!
4 =================================================
4 =================================================
5
5
6 ``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository
6 ``RhodeCode`` (formerly hg-app) is a Pylons framework based Mercurial repository
7 browser/management tool with build in push/pull server and full text search.
7 browser/management tool with a built in push/pull server and full text search.
8 It works on http/https, has build in permission/authentication system with
8 It works on http/https and has a built in permission/authentication system with
9 ability to auth via LDAP. It's similar in some parts to github or bitbucket,
9 the ability to authenticate via LDAP.
10 but it's suppose to run as standalone hosted application, it's open source
10
11 and donation ware and focuses more on providing customized, self administered
11 RhodeCode is similar in some respects to github or bitbucket,
12 interface for Mercurial(and soon GIT) repositories. It's powered by vcs_
12 however RhodeCode can be run as standalone hosted application on your own server. It is open source
13 library that me and Lukasz Balcerzak created to handle many various version
13 and donation ware and focuses more on providing a customized, self administered
14 interface for Mercurial(and soon GIT) repositories. RhodeCode is powered by a vcs_
15 library that Lukasz Balcerzak and I created to handle multiple different version
14 control systems.
16 control systems.
15
17
16 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
18 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
@@ -20,8 +22,8 b' RhodeCode demo'
20
22
21 http://hg.python-works.com
23 http://hg.python-works.com
22
24
23 The default access is anonymous but You can login to administrative account
25 The default access is anonymous but you can login to an administrative account
24 using those credentials
26 using the following credentials:
25
27
26 - username: demo
28 - username: demo
27 - password: demo
29 - password: demo
@@ -29,7 +31,7 b' using those credentials'
29 Source code
31 Source code
30 -----------
32 -----------
31
33
32 The most up to date sources can be obtained from my own RhodeCode instance
34 The latest source for RhodeCode can be obtained from my own RhodeCode instance
33 https://rhodecode.org
35 https://rhodecode.org
34
36
35 Rarely updated source code and issue tracker is available at bitbcuket
37 Rarely updated source code and issue tracker is available at bitbcuket
@@ -41,23 +43,23 b' Installation'
41 Please visit http://packages.python.org/RhodeCode/installation.html
43 Please visit http://packages.python.org/RhodeCode/installation.html
42
44
43
45
44 Features
46 RhodeCode Features
45 --------
47 ------------------
46
48
47 - Has it's own middleware to handle mercurial_ protocol request.
49 - Has it's own middleware to handle mercurial_ protocol requests.
48 Each request can be logged and authenticated. Runs on threads unlikely to
50 Each request can be logged and authenticated.
49 hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https
51 - Runs on threads unlike hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https
50 and LDAP
52 and LDAP
51 - Full permissions (private/read/write/admin) and authentication per project.
53 - Full permissions (private/read/write/admin) and authentication per project.
52 One account for web interface and mercurial_ push/pull/clone operations.
54 One account for web interface and mercurial_ push/pull/clone operations.
53 - Mako templates let's you customize look and feel of application.
55 - Mako templates let's you customize the look and feel of the application.
54 - Beautiful diffs, annotations and source codes all colored by pygments.
56 - Beautiful diffs, annotations and source code browsing all colored by pygments.
55 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
57 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
56 - Admin interface with user/permission management. Admin activity journal, logs
58 - Admin interface with user/permission management. Admin activity journal, logs
57 pulls, pushes, forks, registrations and other actions made by all users.
59 pulls, pushes, forks, registrations and other actions made by all users.
58 - Server side forks, it's possible to fork a project and hack it free without
60 - Server side forks. It is possible to fork a project and modify it freely without
59 breaking the main repository.
61 breaking the main repository.
60 - Full text search powered by Whoosh on source codes, and file names.
62 - Full text search powered by Whoosh on the source files, and file names.
61 Build in indexing daemons, with optional incremental index build
63 Build in indexing daemons, with optional incremental index build
62 (no external search servers required all in one application)
64 (no external search servers required all in one application)
63 - Setup project descriptions and info inside built in db for easy, non
65 - Setup project descriptions and info inside built in db for easy, non
@@ -77,43 +79,46 b' Features'
77 Incoming / Plans
79 Incoming / Plans
78 ----------------
80 ----------------
79
81
80 - project grouping
82 - Project grouping
81 - User groups/teams
83 - User groups/teams
82 - ssh based authentication with server side key management
84 - SSH based authentication with server side key management
83 - code review (probably based on hg-review)
85 - Code review (probably based on hg-review)
84 - full git_ support, with push/pull server (currently in beta tests)
86 - Full git_ support, with push/pull server (currently in beta tests)
85 - redmine integration
87 - Redmine integration
86 - public accessible activity feeds
88 - Public accessible activity feeds
87 - commit based build in wiki system
89 - Commit based built in wiki system
88 - clone points and cloning from remote repositories into RhodeCode
90 - Clone points and cloning from remote repositories into RhodeCode
89 - more statistics and graph (global annotation + some more statistics)
91 - More statistics and graph (global annotation + some more statistics)
90 - other cools stuff that i can figure out (or You can help me figure out)
92 - Other advancements as development continues (or you can of course make additions and or requests)
91
93
92 License
94 License
93 -------
95 -------
94
96
95 ``RhodeCode`` is released under GPL_ license.
97 ``RhodeCode`` is released under the GPL_ license.
96
98
97
99
98 Mailing group Q&A
100 Mailing group Q&A
99 -----------------
101 -----------------
100
102
101 join the `Google group <http://groups.google.com/group/rhodecode>`_
103 Join the `Google group <http://groups.google.com/group/rhodecode>`_
102
104
103 open an issue at `issue tracker <http://bitbucket.org/marcinkuzminski/rhodecode/issues>`_
105 Open an issue at `issue tracker <http://bitbucket.org/marcinkuzminski/rhodecode/issues>`_
104
106
105 join #rhodecode on FreeNode (irc.freenode.net)
107 Join #rhodecode on FreeNode (irc.freenode.net)
106 or use http://webchat.freenode.net/?channels=rhodecode for web access to irc.
108 or use http://webchat.freenode.net/?channels=rhodecode for web access to irc.
107
109
108 Online documentation
110 Online documentation
109 --------------------
111 --------------------
110
112
111 Online documentation for current version is available at
113 Online documentation for the current version of RhodeCode is available at
112 http://packages.python.org/RhodeCode/.
114 http://packages.python.org/RhodeCode/.
113 You may also build documentation for yourself - go into ``docs/`` and run::
115 You may also build the documentation for yourself - go into ``docs/`` and run::
114
116
115 make html
117 make html
116
118
119 (You need to have sphinx installed to build the documentation. If you don't
120 have sphinx installed you can install it via the command: ``easy_install sphinx``)
121
117 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
122 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
118 .. _python: http://www.python.org/
123 .. _python: http://www.python.org/
119 .. _django: http://www.djangoproject.com/
124 .. _django: http://www.djangoproject.com/
@@ -1,17 +1,19 b''
1 .. _contributing:
1 .. _contributing:
2
2
3 Contributing in RhodeCode
3 Contributing to RhodeCode
4 =========================
4 =========================
5
5
6 If You would like to contribute to RhodeCode, please contact me, any help is
6 If you would like to contribute to RhodeCode, please contact me, any help is
7 greatly appreciated.
7 greatly appreciated!
8
8
9 Preferable method Would be to fork RhodeCode repository from bitbucket
9 Could I request that you make your source contributions by first forking the
10 https://bitbucket.org/marcinkuzminski/rhodecode and then open a pull request.
10 RhodeCode repository on bitbucket
11 This way it's easier for me to merge.
11 https://bitbucket.org/marcinkuzminski/rhodecode and then make your changes to
12 your forked repository. Finally, when you are finished making a change, please
13 send me a pull request.
12
14
13 To run RhodeCode in a development version You always need to install tip
15 To run RhodeCode in a development version you always need to install the tip
14 version of RhodeCode and VCS library.
16 version of RhodeCode and the VCS library.
15
17
16
18 | Thank you for any contributions!
17 Thank You.
19 | Marcin No newline at end of file
@@ -4,9 +4,9 b' Enabling GIT support (beta)'
4 ===========================
4 ===========================
5
5
6
6
7 Git support in RhodeCode 1.1 was disabled due to some instability issues, but
7 Git support in RhodeCode 1.1 was disabled due to current instability issues. However,
8 If You would like to test it fell free to re-enable it. To enable GIT just
8 if you would like to test git support please feel free to re-enable it. To re-enable GIT support just
9 uncomment git line in rhodecode/__init__.py file
9 uncomment the git line in the file rhodecode/__init__.py
10
10
11 .. code-block:: python
11 .. code-block:: python
12
12
@@ -16,6 +16,7 b' uncomment git line in rhodecode/__init__'
16 }
16 }
17
17
18 .. note::
18 .. note::
19 Please note that it's not fully stable and it might crash (that's why it
19 Please note that the git support provided by RhodeCode is not yet fully
20 was disabled), so be careful about enabling git support. Don't use it in
20 stable and RhodeCode might crash while using git repositories. (That is why
21 production ! No newline at end of file
21 it is currently disabled.) Thus be careful about enabling git support, and
22 certainly don't use it in a production setting! No newline at end of file
@@ -3,24 +3,24 b''
3 Installation
3 Installation
4 ============
4 ============
5
5
6 ``RhodeCode`` is written entirely in Python, but in order to use it's full
6 ``RhodeCode`` is written entirely in Python. In order to gain maximum performance
7 potential there are some third-party requirements. When RhodeCode is used
7 there are some third-party you must install. When RhodeCode is used
8 together with celery You have to install some kind of message broker,
8 together with celery you have to install some kind of message broker,
9 recommended one is rabbitmq_ to make the async tasks work.
9 recommended one is rabbitmq_ to make the async tasks work.
10
10
11 Of course RhodeCode works in sync mode also, then You don't have to install
11 Of course RhodeCode works in sync mode also and then you do not have to install
12 any third party apps. Celery_ will give You large speed improvement when using
12 any third party applications. However, using Celery_ will give you a large speed improvement when using
13 many big repositories. If You plan to use it for 7 or 10 small repositories, it
13 many big repositories. If you plan to use RhodeCode for say 7 to 10 small repositories, RhodeCode
14 will work just fine without celery running.
14 will perform perfectly well without celery running.
15
15
16 After You decide to Run it with celery make sure You run celeryd using paster
16 If you make the decision to run RhodeCode with celery make sure you run celeryd using paster
17 and message broker together with the application.
17 and message broker together with the application.
18
18
19 Install from Cheese Shop
19 Installing RhodeCode from Cheese Shop
20 ------------------------
20 ------------------------
21 Rhodecode requires python 2.x greater than version 2.5
21 Rhodecode requires python version 2.5 or higher.
22
22
23 Easiest way to install ``rhodecode`` is to run::
23 The easiest way to install ``rhodecode`` is to run::
24
24
25 easy_install rhodecode
25 easy_install rhodecode
26
26
@@ -28,8 +28,8 b' Or::'
28
28
29 pip install rhodecode
29 pip install rhodecode
30
30
31 If you prefer to install manually simply grab latest release from
31 If you prefer to install RhodeCode manually simply grab latest release from
32 http://pypi.python.org/pypi/rhodecode, decompress archive and run::
32 http://pypi.python.org/pypi/rhodecode, decompress the archive and run::
33
33
34 python setup.py install
34 python setup.py install
35
35
@@ -38,15 +38,13 b' Step by step installation example'
38 ---------------------------------
38 ---------------------------------
39
39
40
40
41 - Assuming You have installed virtualenv_ create one using.
41 - Assuming you have installed virtualenv_ create a new virtual environment using virtualenv::
42
43 ::
44
42
45 virtualenv --no-site-packages /var/www/rhodecode-venv
43 virtualenv --no-site-packages /var/www/rhodecode-venv
46
44
47
45
48 .. note:: Using ``--no-site-packages`` when generating your
46 .. note:: Using ``--no-site-packages`` when generating your
49 virtualenv is *very important*. This flag provides the necessary
47 virtualenv is **very important**. This flag provides the necessary
50 isolation for running the set of packages required by
48 isolation for running the set of packages required by
51 RhodeCode. If you do not specify ``--no-site-packages``,
49 RhodeCode. If you do not specify ``--no-site-packages``,
52 it's possible that RhodeCode will not install properly into
50 it's possible that RhodeCode will not install properly into
@@ -56,48 +54,42 b' Step by step installation example'
56
54
57
55
58 - this will install new virtualenv_ into `/var/www/rhodecode-venv`.
56 - this will install new virtualenv_ into `/var/www/rhodecode-venv`.
59 - Activate the virtualenv_ by running
57 - Activate the virtualenv_ by running::
60
61 ::
62
58
63 source /var/www/rhodecode-venv/bin/activate
59 source /var/www/rhodecode-venv/bin/activate
64
60
65 .. note:: If you're on UNIX, *do not* use ``sudo`` to run the
61 .. note:: If you're using UNIX, *do not* use ``sudo`` to run the
66 ``virtualenv`` script. It's perfectly acceptable (and desirable)
62 ``virtualenv`` script. It's perfectly acceptable (and desirable)
67 to create a virtualenv as a normal user.
63 to create a virtualenv as a normal user.
68
64
69 - Make a folder for rhodecode somewhere on the filesystem for example
65 - Make a folder for rhodecode somewhere on the filesystem for example::
70
71 ::
72
66
73 mkdir /var/www/rhodecode
67 mkdir /var/www/rhodecode
74
68
75
69
76 - Run this command to install rhodecode
70 - Run this command to install rhodecode::
77
78 ::
79
71
80 easy_install rhodecode
72 easy_install rhodecode
81
73
82 - this will install rhodecode together with pylons
74 - This will install rhodecode together with pylons and all other required python
83 and all other required python libraries
75 libraries
84
76
85 Requirements for Celery (optional)
77 Requirements for Celery (optional)
86 ----------------------------------
78 ----------------------------------
87
79
88 .. note::
80 .. note::
89 Installing message broker and using celery is optional, RhodeCode will
81 Installing message broker and using celery is optional, RhodeCode will
90 work without them perfectly fine.
82 work perfectly fine without them.
91
83
92
84
93 **Message Broker**
85 **Message Broker**
94
86
95 - preferred is `RabbitMq <http://www.rabbitmq.com/>`_
87 - preferred is `RabbitMq <http://www.rabbitmq.com/>`_
96 - possible other is `Redis <http://code.google.com/p/redis/>`_
88 - A possible alternative is `Redis <http://code.google.com/p/redis/>`_
97
89
98 For installation instructions You can visit:
90 For installation instructions you can visit:
99 http://ask.github.com/celery/getting-started/index.html
91 http://ask.github.com/celery/getting-started/index.html.
100 It's very nice tutorial how to start celery_ with rabbitmq_
92 This is a very nice tutorial on how to start using celery_ with rabbitmq_
101
93
102
94
103 You can now proceed to :ref:`setup`
95 You can now proceed to :ref:`setup`
@@ -31,7 +31,7 b' entering this "root" path ``setup-app`` '
31 for the initial admin account which ``setup-app`` sets up for you.
31 for the initial admin account which ``setup-app`` sets up for you.
32
32
33 - The ``setup-app`` command will create all of the needed tables and an admin
33 - The ``setup-app`` command will create all of the needed tables and an admin
34 account. When choosing a root path You can either use a new empty location, or a
34 account. When choosing a root path you can either use a new empty location, or a
35 location which already contains existing repositories. If you choose a location
35 location which already contains existing repositories. If you choose a location
36 which contains existing repositories RhodeCode will simply add all of the
36 which contains existing repositories RhodeCode will simply add all of the
37 repositories at the chosen location to it's database. (Note: make sure you
37 repositories at the chosen location to it's database. (Note: make sure you
@@ -51,7 +51,7 b' You are now ready to use RhodeCode, to r'
51 - Use the admin account you created above when running ``setup-app`` to login to the web app.
51 - Use the admin account you created above when running ``setup-app`` to login to the web app.
52 - The default permissions on each repository is read, and the owner is admin.
52 - The default permissions on each repository is read, and the owner is admin.
53 Remember to update these if needed.
53 Remember to update these if needed.
54 - In the admin panel You can toggle ldap, anonymous, permissions settings. As
54 - In the admin panel you can toggle ldap, anonymous, permissions settings. As
55 well as edit more advanced options on users and repositories
55 well as edit more advanced options on users and repositories
56
56
57 Try copying your own mercurial repository into the "root" directory you are
57 Try copying your own mercurial repository into the "root" directory you are
@@ -102,7 +102,7 b' Setting up Whoosh full text search'
102 ----------------------------------
102 ----------------------------------
103
103
104 Starting from version 1.1 the whoosh index can be build by using the paster
104 Starting from version 1.1 the whoosh index can be build by using the paster
105 command ``make-index``. To use ``make-index`` You must specify the configuration
105 command ``make-index``. To use ``make-index`` you must specify the configuration
106 file that stores the location of the index, and the location of the repositories
106 file that stores the location of the index, and the location of the repositories
107 (`--repo-location`).
107 (`--repo-location`).
108
108
@@ -4,29 +4,30 b''
4 Statistics
4 Statistics
5 ==========
5 ==========
6
6
7 RhodeCode statistics system is heavy on resources, so in order to keep a
7 The RhodeCode statistics system makes heavy demands of the server resources, so
8 balance between the usability and performance statistics are cached inside db
8 in order to keep a balance between usability and performance, the statistics are
9 and are gathered incrementally, this is how RhodeCode does this:
9 cached inside db and are gathered incrementally, this is how RhodeCode does
10 this:
10
11
11 With Celery disabled
12 With Celery disabled
12 ++++++++++++++++++++
13 ++++++++++++++++++++
13
14
14 - on each first visit on summary page a set of 250 commits are parsed and
15 - On each first visit to the summary page a set of 250 commits are parsed and
15 updates statistics cache
16 updates statistics cache.
16 - this happens on each single visit of statistics page until all commits are
17 - This happens on each single visit to the statistics page until all commits are
17 fetched. Statistics are kept cached until some more commits are added to
18 fetched. Statistics are kept cached until additional commits are added to the
18 repository, in such case RhodeCode will fetch only the ones added and will
19 repository. In such a case RhodeCode will only fetch the new commits when
19 update it's cache.
20 updating it's cache.
20
21
21
22
22 With Celery enabled
23 With Celery enabled
23 +++++++++++++++++++
24 +++++++++++++++++++
24
25
25 - on first visit on summary page RhodeCode will create task that will execute
26 - On the first visit to the summary page RhodeCode will create tasks that will
26 on celery workers, that will gather all stats until all commits are parsed,
27 execute on celery workers. This task will gather all of the stats until all
27 each task will parse 250 commits, and run next task to parse next 250
28 commits are parsed, each task will parse 250 commits, and run the next task to
28 commits, until all are parsed.
29 parse next 250 commits, until all of the commits are parsed.
29
30
30 .. note::
31 .. note::
31 In any time You can disable statistics on each repository in repository edit
32 At any time you can disable statistics on each repository via the repository
32 form in admin panel, just uncheck the statistics checkbox. No newline at end of file
33 edit form in the admin panel. To do this just uncheck the statistics checkbox. No newline at end of file
@@ -3,10 +3,13 b''
3 Upgrade
3 Upgrade
4 =======
4 =======
5
5
6 Upgrade from Cheese Shop
6 Upgrading from Cheese Shop
7 ------------------------
7 ------------------------
8
8
9 Easiest way to upgrade ``rhodecode`` is to run::
9 .. note::
10 Firstly, it is recommended that you **always** perform a database backup before doing an upgrade.
11
12 The easiest way to upgrade ``rhodecode`` is to run::
10
13
11 easy_install -U rhodecode
14 easy_install -U rhodecode
12
15
@@ -15,39 +18,31 b' Or::'
15 pip install --upgrade rhodecode
18 pip install --upgrade rhodecode
16
19
17
20
18 Then make sure You run from the installation directory
21 Then make sure you run the following command from the installation directory::
19
20 ::
21
22
22 paster make-config RhodeCode production.ini
23 paster make-config RhodeCode production.ini
23
24
24 This will display any changes made from new version of RhodeCode To your
25 This will display any changes made by the new version of RhodeCode to your
25 current config. And tries to do an automerge. It's always better to do a backup
26 current configuration. It will try to perform an automerge. It's always better
26 of config file and recheck the content after merge.
27 to make a backup of your configuration file before hand and recheck the content after the automerge.
27
28
28 .. note::
29 .. note::
29 The next steps only apply to upgrading from non bugfix releases eg. from
30 The next steps only apply to upgrading from non bugfix releases eg. from
30 any minor or major releases. Bugfix releases (eg. 1.1.2->1.1.3) will
31 any minor or major releases. Bugfix releases (eg. 1.1.2->1.1.3) will
31 not have any database schema changes or whoosh library updates
32 not have any database schema changes or whoosh library updates.
32
33
33 It's also good to rebuild the whoosh index since after upgrading the whoosh
34 It is also recommended that you rebuild the whoosh index after upgrading since the new whoosh
34 version there could be introduced incompatible index changes.
35 version could introduce some incompatible index changes.
35
36
36
37
37 The last step is to upgrade the database. To do this simply run
38 The final step is to upgrade the database. To do this simply run::
38
39 ::
40
39
41 paster upgrade-db production.ini
40 paster upgrade-db production.ini
42
41
43 This will upgrade schema, as well as update some default on the database,
42 This will upgrade the schema and update some of the defaults in the database,
44 always recheck the settings of the application, if there are no new options
43 and will always recheck the settings of the application, if there are no new options
45 that need to be set.
44 that need to be set.
46
45
47 .. note::
48 Always perform a database backup before doing upgrade.
49
50
51
46
52 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
47 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
53 .. _python: http://www.python.org/
48 .. _python: http://www.python.org/
General Comments 0
You need to be logged in to leave comments. Login now