Show More
@@ -4,12 +4,14 b' Welcome to RhodeCode (RhodiumCode) docum' | |||||
4 | ================================================= |
|
4 | ================================================= | |
5 |
|
5 | |||
6 | ``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository |
|
6 | ``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository | |
7 | browser/management with build in push/pull server and full text search. |
|
7 | browser/management tool with build in push/pull server and full text search. | |
8 |
It works on http/https, has build in permission/authentication |
|
8 | It works on http/https, has build in permission/authentication system with | |
9 | It's similar to github or bitbucket, but it's suppose to run as standalone |
|
9 | ability to auth via LDAP. It's similar in some parts to github or bitbucket, | |
10 | hosted application, it's open source and focuses more on restricted access to |
|
10 | but it's suppose to run as standalone hosted application, it's open source | |
11 | repositories. It's powered by vcs_ library that me and Lukasz Balcerzak created |
|
11 | and donation ware and focuses more on providing customized, self administered | |
12 | to handle many various version control systems. |
|
12 | interface for Mercurial(and soon GIT) repositories. It's powered by vcs_ | |
|
13 | library that me and Lukasz Balcerzak created to handle many various version | |||
|
14 | control systems. | |||
13 |
|
15 | |||
14 | RhodeCode uses `Semantic Versioning <http://semver.org/>`_ |
|
16 | RhodeCode uses `Semantic Versioning <http://semver.org/>`_ | |
15 |
|
17 | |||
@@ -45,23 +47,28 b' Features' | |||||
45 | - Has it's own middleware to handle mercurial_ protocol request. |
|
47 | - Has it's own middleware to handle mercurial_ protocol request. | |
46 | Each request can be logged and authenticated. Runs on threads unlikely to |
|
48 | Each request can be logged and authenticated. Runs on threads unlikely to | |
47 | hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https |
|
49 | hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https | |
48 |
and |
|
50 | and LDAP | |
49 | - Full permissions (private/read/write/admin) and authentication per project. |
|
51 | - Full permissions (private/read/write/admin) and authentication per project. | |
50 | One account for web interface and mercurial_ push/pull/clone operations. |
|
52 | One account for web interface and mercurial_ push/pull/clone operations. | |
|
53 | - Have built in users groups for easier permission management | |||
|
54 | - Users can fork other users repo. RhodeCode have also compare view to see | |||
|
55 | combined changeset for all changeset made within single push. | |||
51 | - Mako templates let's you customize look and feel of application. |
|
56 | - Mako templates let's you customize look and feel of application. | |
52 | - Beautiful diffs, annotations and source codes all colored by pygments. |
|
57 | - Beautiful diffs, annotations and source codes all colored by pygments. Raw | |
|
58 | diffs are made in git-diff format, including git binary-patches | |||
53 | - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics |
|
59 | - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics | |
54 | - Admin interface with user/permission management. Admin activity journal, logs |
|
60 | - Admin interface with user/permission management. Admin activity journal, logs | |
55 | pulls, pushes, forks, registrations and other actions made by all users. |
|
61 | pulls, pushes, forks, registrations and other actions made by all users. | |
56 | - Server side forks, it's possible to fork a project and hack it free without |
|
62 | - Server side forks, it's possible to fork a project and hack it free without | |
57 | breaking the main repository. |
|
63 | breaking the main repository. You can even write Your own hooks and install | |
|
64 | them | |||
58 | - Full text search powered by Whoosh on source codes, and file names. |
|
65 | - Full text search powered by Whoosh on source codes, and file names. | |
59 | Build in indexing daemons, with optional incremental index build |
|
66 | Build in indexing daemons, with optional incremental index build | |
60 |
(no external search servers required |
|
67 | (no external search servers required. All in one application !) | |
61 | - Setup project descriptions and info inside built in db for easy, non |
|
68 | - Setup project descriptions and info inside built in db for easy, non | |
62 | file-system operations |
|
69 | file-system operations | |
63 |
- Intelligent cache with invalidation after push or project change, provides |
|
70 | - Intelligent cache with invalidation after push or project change, provides | |
64 | performance and always up to date data. |
|
71 | high performance and always up to date data. | |
65 | - Rss / atom feeds, gravatar support, download sources as zip/tar/gz |
|
72 | - Rss / atom feeds, gravatar support, download sources as zip/tar/gz | |
66 | - Async tasks for speed and performance using celery_ (works without them too) |
|
73 | - Async tasks for speed and performance using celery_ (works without them too) | |
67 | - Backup scripts can do backup of whole app and send it over scp to desired |
|
74 | - Backup scripts can do backup of whole app and send it over scp to desired | |
@@ -76,7 +83,6 b' Incoming / Plans' | |||||
76 | ---------------- |
|
83 | ---------------- | |
77 |
|
84 | |||
78 | - project grouping |
|
85 | - project grouping | |
79 | - User groups/teams |
|
|||
80 | - code review (probably based on hg-review) |
|
86 | - code review (probably based on hg-review) | |
81 | - full git_ support, with push/pull server (currently in beta tests) |
|
87 | - full git_ support, with push/pull server (currently in beta tests) | |
82 | - redmine integration |
|
88 | - redmine integration |
@@ -6,4 +6,12 b' Contributing in RhodeCode' | |||||
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 | |||
|
10 | https://bitbucket.org/marcinkuzminski/rhodecode and then open a pull request. | |||
|
11 | This way it's easier for me to merge. | |||
|
12 | ||||
|
13 | To run RhodeCode in a development version You always need to install tip | |||
|
14 | version of RhodeCode and VCS library. | |||
|
15 | ||||
|
16 | ||||
9 | Thank You. |
|
17 | Thank You. |
@@ -7,7 +7,7 b' Setup' | |||||
7 | Setting up the application |
|
7 | Setting up the application | |
8 | -------------------------- |
|
8 | -------------------------- | |
9 |
|
9 | |||
10 | First You'll ned to create RhodeCode config file. Run the following command |
|
10 | First You'll need to create RhodeCode config file. Run the following command | |
11 | to do this |
|
11 | to do this | |
12 |
|
12 | |||
13 | :: |
|
13 | :: | |
@@ -19,8 +19,10 b' to do this' | |||||
19 | email settings, usage of static files, cache, celery settings and logging. |
|
19 | email settings, usage of static files, cache, celery settings and logging. | |
20 |
|
20 | |||
21 |
|
21 | |||
|
22 | Next we need to create the database. I'll recommend to use sqlite (default) | |||
|
23 | or postgresql. Make sure You properly adjust the db url in the .ini file to use | |||
|
24 | other than the default sqlite database | |||
22 |
|
25 | |||
23 | Next we need to create the database. |
|
|||
24 |
|
26 | |||
25 | :: |
|
27 | :: | |
26 |
|
28 | |||
@@ -35,7 +37,7 b' Next we need to create the database.' | |||||
35 | interface will work even without such an access but, when trying to do a |
|
37 | interface will work even without such an access but, when trying to do a | |
36 | push it'll eventually fail with permission denied errors. |
|
38 | push it'll eventually fail with permission denied errors. | |
37 |
|
39 | |||
38 |
You are ready to use |
|
40 | You are ready to use RhodeCode, to run it simply execute | |
39 |
|
41 | |||
40 | :: |
|
42 | :: | |
41 |
|
43 | |||
@@ -334,11 +336,19 b' In order to make start using celery run:' | |||||
334 | paster celeryd <configfile.ini> |
|
336 | paster celeryd <configfile.ini> | |
335 |
|
337 | |||
336 |
|
338 | |||
337 |
|
||||
338 | .. note:: |
|
339 | .. note:: | |
339 | Make sure You run this command from same virtualenv, and with the same user |
|
340 | Make sure You run this command from same virtualenv, and with the same user | |
340 | that rhodecode runs. |
|
341 | that rhodecode runs. | |
341 |
|
342 | |||
|
343 | HTTPS support | |||
|
344 | ------------- | |||
|
345 | ||||
|
346 | There are two ways to enable https, first is to set HTTP_X_URL_SCHEME in | |||
|
347 | Your http server headers, than rhodecode will recognise this headers and make | |||
|
348 | proper https redirections, another way is to set `force_https = true` | |||
|
349 | in the ini cofiguration to force using https, no headers are needed than to | |||
|
350 | enable https | |||
|
351 | ||||
342 |
|
352 | |||
343 | Nginx virtual host example |
|
353 | Nginx virtual host example | |
344 | -------------------------- |
|
354 | -------------------------- | |
@@ -426,6 +436,29 b' Additional tutorial' | |||||
426 | http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons |
|
436 | http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons | |
427 |
|
437 | |||
428 |
|
438 | |||
|
439 | Apache as subdirectory | |||
|
440 | ---------------------- | |||
|
441 | ||||
|
442 | ||||
|
443 | Apache subdirectory part:: | |||
|
444 | ||||
|
445 | <Location /rhodecode> | |||
|
446 | ProxyPass http://127.0.0.1:59542/rhodecode | |||
|
447 | ProxyPassReverse http://127.0.0.1:59542/rhodecode | |||
|
448 | SetEnvIf X-Url-Scheme https HTTPS=1 | |||
|
449 | </Location> | |||
|
450 | ||||
|
451 | Besides the regular apache setup You'll need to add such part to .ini file:: | |||
|
452 | ||||
|
453 | filter-with = proxy-prefix | |||
|
454 | ||||
|
455 | Add the following at the end of the .ini file:: | |||
|
456 | ||||
|
457 | [filter:proxy-prefix] | |||
|
458 | use = egg:PasteDeploy#prefix | |||
|
459 | prefix = /<someprefix> | |||
|
460 | ||||
|
461 | ||||
429 | Apache's example FCGI config |
|
462 | Apache's example FCGI config | |
430 | ---------------------------- |
|
463 | ---------------------------- | |
431 |
|
464 | |||
@@ -462,7 +495,9 b' Troubleshooting' | |||||
462 |
|
495 | |||
463 | - make sure You set a proper max_body_size for the http server |
|
496 | - make sure You set a proper max_body_size for the http server | |
464 |
|
497 | |||
|
498 | - Apache doesn't pass basicAuth on pull/push ? | |||
465 |
|
499 | |||
|
500 | - Make sure You added `WSGIPassAuthorization true` | |||
466 |
|
501 | |||
467 | .. _virtualenv: http://pypi.python.org/pypi/virtualenv |
|
502 | .. _virtualenv: http://pypi.python.org/pypi/virtualenv | |
468 | .. _python: http://www.python.org/ |
|
503 | .. _python: http://www.python.org/ |
@@ -25,6 +25,11 b' This will display any changes made from ' | |||||
25 | current config. And tries to do an automerge. It's always better to do a backup |
|
25 | current config. And tries to do an automerge. It's always better to do a backup | |
26 | of config file and recheck the content after merge. |
|
26 | of config file and recheck the content after merge. | |
27 |
|
27 | |||
|
28 | .. note:: | |||
|
29 | The next steps only apply to upgrading from non bugfix releases eg. from | |||
|
30 | 1.1 to 1.2. Bugfix releases (eg. 1.1.2->1.1.3) will not have any database | |||
|
31 | schema changes or whoosh library updates | |||
|
32 | ||||
28 | It's also good to rebuild the whoosh index since after upgrading the whoosh |
|
33 | It's also good to rebuild the whoosh index since after upgrading the whoosh | |
29 | version there could be introduced incompatible index changes. |
|
34 | version there could be introduced incompatible index changes. | |
30 |
|
35 |
General Comments 0
You need to be logged in to leave comments.
Login now