diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -4,12 +4,14 @@ Welcome to RhodeCode (RhodiumCode) docum
=================================================
``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository
-browser/management with build in push/pull server and full text search.
-It works on http/https, has build in permission/authentication(+ldap) features
-It's similar to github or bitbucket, but it's suppose to run as standalone
-hosted application, it's open source and focuses more on restricted access to
-repositories. It's powered by vcs_ library that me and Lukasz Balcerzak created
-to handle many various version control systems.
+browser/management tool with build in push/pull server and full text search.
+It works on http/https, has build in permission/authentication system with
+ability to auth via LDAP. It's similar in some parts to github or bitbucket,
+but it's suppose to run as standalone hosted application, it's open source
+and donation ware and focuses more on providing customized, self administered
+interface for Mercurial(and soon GIT) repositories. It's powered by vcs_
+library that me and Lukasz Balcerzak created to handle many various version
+control systems.
RhodeCode uses `Semantic Versioning `_
@@ -45,23 +47,28 @@ Features
- Has it's own middleware to handle mercurial_ protocol request.
Each request can be logged and authenticated. Runs on threads unlikely to
hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https
- and ldap
+ and LDAP
- Full permissions (private/read/write/admin) and authentication per project.
One account for web interface and mercurial_ push/pull/clone operations.
+- Have built in users groups for easier permission management
+- Users can fork other users repo. RhodeCode have also compare view to see
+ combined changeset for all changeset made within single push.
- Mako templates let's you customize look and feel of application.
-- Beautiful diffs, annotations and source codes all colored by pygments.
+- Beautiful diffs, annotations and source codes all colored by pygments. Raw
+ diffs are made in git-diff format, including git binary-patches
- Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
- Admin interface with user/permission management. Admin activity journal, logs
pulls, pushes, forks, registrations and other actions made by all users.
- Server side forks, it's possible to fork a project and hack it free without
- breaking the main repository.
+ breaking the main repository. You can even write Your own hooks and install
+ them
- Full text search powered by Whoosh on source codes, and file names.
Build in indexing daemons, with optional incremental index build
- (no external search servers required all in one application)
+ (no external search servers required. All in one application !)
- Setup project descriptions and info inside built in db for easy, non
file-system operations
-- Intelligent cache with invalidation after push or project change, provides high
- performance and always up to date data.
+- Intelligent cache with invalidation after push or project change, provides
+ high performance and always up to date data.
- Rss / atom feeds, gravatar support, download sources as zip/tar/gz
- Async tasks for speed and performance using celery_ (works without them too)
- Backup scripts can do backup of whole app and send it over scp to desired
@@ -76,7 +83,6 @@ Incoming / Plans
----------------
- project grouping
-- User groups/teams
- code review (probably based on hg-review)
- full git_ support, with push/pull server (currently in beta tests)
- redmine integration
diff --git a/docs/contributing.rst b/docs/contributing.rst
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -6,4 +6,12 @@ Contributing in RhodeCode
If You would like to contribute to RhodeCode, please contact me, any help is
greatly appreciated.
+Preferable method Would be to fork RhodeCode repository from bitbucket
+https://bitbucket.org/marcinkuzminski/rhodecode and then open a pull request.
+This way it's easier for me to merge.
+
+To run RhodeCode in a development version You always need to install tip
+version of RhodeCode and VCS library.
+
+
Thank You.
diff --git a/docs/installation.rst b/docs/installation.rst
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -22,16 +22,16 @@ Rhodecode requires python 2.x greater th
Easiest way to install ``rhodecode`` is to run::
- easy_install rhodecode
+ easy_install rhodecode
Or::
- pip install rhodecode
+ pip install rhodecode
If you prefer to install manually simply grab latest release from
http://pypi.python.org/pypi/rhodecode, decompres archive and run::
- python setup.py install
+ python setup.py install
Step by step installation example
@@ -44,27 +44,27 @@ Step by step installation example
::
- virtualenv --no-site-packages /var/www/rhodecode-venv
+ virtualenv --no-site-packages /var/www/rhodecode-venv
- this will install new virtualenv_ into `/var/www/rhodecode-venv`.
- Activate the virtualenv_ by running
::
- source /var/www/rhodecode-venv/bin/activate
+ source /var/www/rhodecode-venv/bin/activate
- Make a folder for rhodecode somewhere on the filesystem for example
::
- mkdir /var/www/rhodecode
+ mkdir /var/www/rhodecode
- Run this command to install rhodecode
::
- easy_install rhodecode
+ easy_install rhodecode
- this will install rhodecode together with pylons
and all other required python libraries
diff --git a/docs/setup.rst b/docs/setup.rst
--- a/docs/setup.rst
+++ b/docs/setup.rst
@@ -7,7 +7,7 @@ Setup
Setting up the application
--------------------------
-First You'll ned to create RhodeCode config file. Run the following command
+First You'll need to create RhodeCode config file. Run the following command
to do this
::
@@ -19,8 +19,10 @@ to do this
email settings, usage of static files, cache, celery settings and logging.
+Next we need to create the database. I'll recommend to use sqlite (default)
+or postgresql. Make sure You properly adjust the db url in the .ini file to use
+other than the default sqlite database
-Next we need to create the database.
::
@@ -35,7 +37,7 @@ Next we need to create the database.
interface will work even without such an access but, when trying to do a
push it'll eventually fail with permission denied errors.
-You are ready to use rhodecode, to run it simply execute
+You are ready to use RhodeCode, to run it simply execute
::
@@ -92,13 +94,13 @@ incremental mode.
incremental mode::
- paster make-index production.ini --repo-location=
+ paster make-index production.ini --repo-location=
for full index rebuild You can use::
- paster make-index production.ini -f --repo-location=
+ paster make-index production.ini -f --repo-location=
building index just for chosen repositories is possible with such command::
@@ -334,10 +336,18 @@ In order to make start using celery run:
paster celeryd
-
.. note::
Make sure You run this command from same virtualenv, and with the same user
that rhodecode runs.
+
+HTTPS support
+-------------
+
+There are two ways to enable https, first is to set HTTP_X_URL_SCHEME in
+Your http server headers, than rhodecode will recognise this headers and make
+proper https redirections, another way is to set `force_https = true`
+in the ini cofiguration to force using https, no headers are needed than to
+enable https
Nginx virtual host example
@@ -426,6 +436,29 @@ Additional tutorial
http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
+Apache as subdirectory
+----------------------
+
+
+Apache subdirectory part::
+
+
+ ProxyPass http://127.0.0.1:59542/rhodecode
+ ProxyPassReverse http://127.0.0.1:59542/rhodecode
+ SetEnvIf X-Url-Scheme https HTTPS=1
+
+
+Besides the regular apache setup You'll need to add such part to .ini file::
+
+ filter-with = proxy-prefix
+
+Add the following at the end of the .ini file::
+
+ [filter:proxy-prefix]
+ use = egg:PasteDeploy#prefix
+ prefix = /
+
+
Apache's example FCGI config
----------------------------
@@ -462,7 +495,9 @@ Troubleshooting
- make sure You set a proper max_body_size for the http server
+- Apache doesn't pass basicAuth on pull/push ?
+ - Make sure You added `WSGIPassAuthorization true`
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
.. _python: http://www.python.org/
diff --git a/docs/upgrade.rst b/docs/upgrade.rst
--- a/docs/upgrade.rst
+++ b/docs/upgrade.rst
@@ -25,15 +25,20 @@ This will display any changes made from
current config. And tries to do an automerge. It's always better to do a backup
of config file and recheck the content after merge.
+.. note::
+ The next steps only apply to upgrading from non bugfix releases eg. from
+ 1.1 to 1.2. Bugfix releases (eg. 1.1.2->1.1.3) will not have any database
+ schema changes or whoosh library updates
+
It's also good to rebuild the whoosh index since after upgrading the whoosh
-version there could be introduced incompatible index changes.
+version there could be introduced incompatible index changes.
The last step is to upgrade the database. To do this simply run
::
- paster upgrade-db production.ini
+ paster upgrade-db production.ini
This will upgrade schema, as well as update some default on the database,
always recheck the settings of the application, if there are no new options