Changeset - 1a498b11f154
[Not reviewed]
Marcin Kuzminski - 13 years ago 2013-02-12 22:42:26
marcin@python-works.com
Docs updates
7 files changed with 116 insertions and 16 deletions:
0 comments (0 inline, 0 general)
README.rst
Show inline comments
 
=========
 
RhodeCode
 
=========
 

	
 
About
 
-----
 

	
 
``RhodeCode`` is a fast and powerful management tool for Mercurial_ and GIT_ 
 
with a built in push/pull server and full text search and code-review.
 
with a built in push/pull server, full text search and code-review.
 
It works on http/https and has a built in permission/authentication system with 
 
the ability to authenticate via LDAP or ActiveDirectory. RhodeCode also provides
 
simple API so it's easy integrable with existing external systems.
 

	
 
RhodeCode is similar in some respects to github_ or bitbucket_, 
 
however RhodeCode can be run as standalone hosted application on your own server.
 
It is open source and donation ware and focuses more on providing a customized, 
 
self administered interface for Mercurial_ and GIT_  repositories. 
 
RhodeCode works on \*nix systems and Windows it is powered by a vcs_ library 
 
that Lukasz Balcerzak and Marcin Kuzminski created to handle multiple 
 
different version control systems.
 

	
 
@@ -167,13 +167,13 @@ have sphinx_ installed you can install i
 
``easy_install sphinx``)
 
 
 
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
 
.. _python: http://www.python.org/
 
.. _sphinx: http://sphinx.pocoo.org/
 
.. _mercurial: http://mercurial.selenic.com/
 
.. _bitbucket: http://bitbucket.org/
 
.. _github: http://github.com/
 
.. _subversion: http://subversion.tigris.org/
 
.. _git: http://git-scm.com/
 
.. _celery: http://celeryproject.org/
 
.. _Sphinx: http://sphinx.pocoo.org/
 
.. _vcs: http://pypi.python.org/pypi/vcs
 
\ No newline at end of file
 
.. _vcs: http://pypi.python.org/pypi/vcs
docs/changelog.rst
Show inline comments
 
.. _changelog:
 

	
 
=========
 
Changelog
 
=========
 

	
 
1.5.3 (**2013-02-12**)
 
----------------------
 

	
 
news
 
++++
 

	
 
- IP restrictions now also enabled for IPv6
 

	
 
fixes
 
+++++
 

	
 
- fixed issues with private checkbox not always working
 
- fixed #746 unicodeDedode errors on feed controllers
 
- fixes issue #756 cleanup repos didn't properly compose paths of repos to be cleaned up.
 
- fixed cache invalidation issues together with vcs_full_cache option
 
- repo scan should skip directories with starting with '.'
 
- fixes for issue #731, update-repoinfo sometimes failed to update data when changesets
 
  were initial commits
 
- recursive mode of setting permission skips private repositories
 

	
 
1.5.2 (**2013-01-14**)
 
----------------------
 

	
 
news
 
++++
 

	
 
- IP restrictions for users. Each user can get a set of whitelist IP+mask for
 
  extra protection. Useful for buildbots etc.
 
- added full last changeset info to lightweight dashboard. lightweight dashboard
 
  is now fully functional replacement of original dashboard.
 
- implemented certain API calls for non-admin users.
 
- enabled all Markdown Extra plugins
 
@@ -923,13 +943,13 @@ fixes
 

	
 

	
 
1.0.0rc3 (**2010-10-11**)
 
-------------------------
 

	
 
- fixed i18n during installation.
 

	
 
1.0.0rc2 (**2010-10-11**)
 
-------------------------
 

	
 
- Disabled dirsize in file browser, it's causing nasty bug when dir renames 
 
  occure. After vcs is fixed it'll be put back again.
 
- templating/css rewrites, optimized css.
 
\ No newline at end of file
 
- templating/css rewrites, optimized css.
docs/installation_win.rst
Show inline comments
 
@@ -4,75 +4,103 @@
 
Step by step Installation for Windows
 
=====================================
 

	
 

	
 
RhodeCode step-by-step install Guide for Windows  
 

	
 
Target OS: Windows XP SP3 32bit English (Clean installation) 
 
+ All Windows Updates until 24-may-2012 
 

	
 
.. note::
 
    
 
   This installation is for 32bit systems, for 64bit windows you might need
 
   to download proper 64bit version of "Windows Installer" and Win32py
 
   extensions
 
   to download proper 64bit versions of the different packages(Windows Installer, Win32py extensions)
 
   plus some extra tweaks.
 
   These extra steps haven been marked as "64bit".
 
   Tested on Windows Server 2008 R2 SP1, 9-feb-2013.
 
   If you run into any 64bit related problems, please check these pages:
 
   - http://blog.victorjabur.com/2011/06/05/compiling-python-2-7-modules-on-windows-32-and-64-using-msvc-2008-express/
 
   - http://bugs.python.org/issue7511
 

	
 
Step1 - Install Visual Studio 2008 Express
 
------------------------------------------
 

	
 
 
 
Optional: You can also install MingW, but VS2008 installation is easier 
 

	
 
Download "Visual C++ 2008 Express Edition with SP1" from: 
 
http://www.microsoft.com/visualstudio/en-us/products/2008-editions/express 
 
(if not found or relocated, google for "visual studio 2008 express" for 
 
updated link) 
 

	
 
You can also download full ISO file for offline installation, just 
 
choose "All - Offline Install ISO image file" in the previous page and 
 
choose "Visual C++ 2008 Express" when installing. 
 

	
 
.. note::
 

	
 
   Using other versions of Visual Studio will lead to random crashes.
 
   You must use Visual Studio 2008!"
 

	
 
.. note::
 

	
 
  Silverlight Runtime and SQL Server 2008 Express Edition are not 
 
  required, you can uncheck them 
 

	
 
.. note::
 
   
 
   64bit: You also need to install the Microsoft Windows SDK for .NET 3.5 SP1 (.NET 4.0 won't work).
 
   Download from: http://www.microsoft.com/en-us/download/details.aspx?id=3138
 

	
 
.. note::
 

	
 
   64bit: You also need to copy and rename a .bat file to make the Visual C++ compiler work.
 
   I am not sure why this is not necessary for 32bit.
 
   Copy C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat to C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat
 

	
 

	
 
Step2 - Install Python
 
----------------------
 

	
 
Install Python 2.x.y (x >= 5) x86 version (32bit). DO NOT USE A 3.x version.
 
Download Python 2.x.y from: 
 
http://www.python.org/download/ 
 

	
 
Choose "Windows Installer" (32bit version) not "Windows X86-64 
 
Installer". While writing this guide, the latest version was v2.7.3. 
 
Remember the specific major and minor version installed, because it will 
 
be needed in the next step. In this case, it is "2.7". 
 

	
 
.. note::
 

	
 
   64bit: Just download and install the 64bit version of python.
 

	
 
Step3 - Install Win32py extensions
 
----------------------------------
 
 
 
Download pywin32 from: 
 
http://sourceforge.net/projects/pywin32/files/ 
 

	
 
- Click on "pywin32" folder 
 
- Click on the first folder (in this case, Build 217, maybe newer when you try) 
 
- Choose the file ending with ".win32-py2.x.exe" -> x being the minor 
 
  version of Python you installed (in this case, 7) 
 
  When writing this guide, the file was: 
 
  http://sourceforge.net/projects/pywin32/files/pywin32/Build%20217/pywin32-217.win32-py2.7.exe/download 
 

	
 
  .. note::
 

	
 
     64bit: Download and install the 64bit version.
 
     At the time of writing you can find this at: 
 
     http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/pywin32-218.win-amd64-py2.7.exe/download
 

	
 
Step4 - Python BIN
 
------------------
 

	
 
Add Python BIN folder to the path 
 

	
 
You have to add the Python folder to the path, you can do it manually 
 
(editing "PATH" environment variable) or using Windows Support Tools 
 
that came preinstalled in Vista/7 and can be installed in Windows XP. 
 

	
 
- Using support tools on WINDOWS XP: 
 
  If you use Windows XP you can install them using Windows XP CD and 
 
@@ -133,24 +161,38 @@ to include it)
 

	
 

	
 
Step7 - Install RhodeCode
 
-------------------------
 

	
 
Finally, install RhodeCode 
 

	
 
Close previously opened command prompt/s, and open a Visual Studio 2008 
 
Command Prompt (**IMPORTANT!!**). To do so, go to Start Menu, and then open 
 
"Microsoft Visual C++ 2008 Express Edition" -> "Visual Studio Tools" -> 
 
"Visual Studio 2008 Command Prompt" 
 

	
 
.. note::
 

	
 
   64bit: For 64bit you need to modify the shortcut that is used to start the
 
   Visual Studio 2008 Command Prompt. Use right-mouse click to open properties.
 

	
 
Change commandline from::
 

	
 
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86
 

	
 
to::
 

	
 
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" amd64
 

	
 

	
 
In that CMD (loaded with VS2008 PATHs) type::
 
 
 
  cd C:\RhodeCode\Env\Scripts (or similar) 
 
  activate 
 

	
 
The prompt will change into "(Env) C:\\RhodeCode\\Env\\Scripts" or similar 
 
(depending of your folder structure). Then type:: 
 

	
 
 pip install rhodecode 
 

	
 
(long step, please wait until fully complete) 
 

	
 
@@ -238,13 +280,13 @@ Open a CommandPrompt like in Step7 (VS20
 
 
 
 easy_install -U rhodecode 
 
 cd \RhodeCode\Bin 
 

	
 
{ backup your production.ini file now} :: 
 

	
 
 paster make-config RhodeCode production.ini 
 

	
 
(check changes and update your production.ini accordingly) ::
 
 
 
 paster upgrade-db production.ini (update database)
 

	
 
Full steps in http://packages.python.org/RhodeCode/upgrade.html 
 
\ No newline at end of file
 
Full steps in http://packages.python.org/RhodeCode/upgrade.html
docs/setup.rst
Show inline comments
 
@@ -519,29 +519,39 @@ Nginx virtual host example
 
--------------------------
 

	
 
Sample config for nginx using proxy::
 

	
 
    upstream rc {
 
        server 127.0.0.1:5000;
 
        # add more instances for load balancing
 
        #server 127.0.0.1:5001;
 
        #server 127.0.0.1:5002;
 
    }
 
    
 
    server {
 
       listen          80;
 
       server_name     hg.myserver.com;
 
       listen          443;
 
       server_name     rhodecode.myserver.com;
 
       access_log      /var/log/nginx/rhodecode.access.log;
 
       error_log       /var/log/nginx/rhodecode.error.log;
 

	
 
       ssl on;
 
       ssl_certificate     rhodecode.myserver.com.crt;
 
       ssl_certificate_key rhodecode.myserver.com.key;
 

	
 
       ssl_session_timeout 5m;
 

	
 
       ssl_protocols SSLv3 TLSv1;
 
       ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5;
 
       ssl_prefer_server_ciphers on;
 

	
 
       # uncomment if you have nginx with chunking module compiled
 
       # fixes the issues of having to put postBuffer data for large git
 
       # pushes       
 
       #chunkin on;
 
       #error_page 411 = @my_411_error;
 
       #location @my_411_error {
 
       #    chunkin_resume;
 
       #}
 
       
 
       # uncomment if you want to serve static files by nginx
 
       #root /path/to/installation/rhodecode/public;
 
       
 
@@ -670,26 +680,26 @@ Here is a sample excerpt from an Apache 
 

	
 
    WSGIDaemonProcess pylons \
 
        threads=4 \
 
        python-path=/home/web/rhodecode/pyenv/lib/python2.6/site-packages
 
    WSGIScriptAlias / /home/web/rhodecode/dispatch.wsgi
 
    WSGIPassAuthorization On
 

	
 
.. note::
 
   when running apache as root please add: `user=www-data group=www-data` 
 
   into above configuration
 

	
 
.. note::
 
   RhodeCode cannot be runned in multiprocess mode in apache, make sure
 
   you don't specify `processes=num` directive in the config
 
   Running RhodeCode in multiprocess mode in apache is not supported,
 
   make sure you don't specify `processes=num` directive in the config
 

	
 

	
 
Example wsgi dispatch script::
 

	
 
    import os
 
    os.environ["HGENCODING"] = "UTF-8"
 
    os.environ['PYTHON_EGG_CACHE'] = '/home/web/rhodecode/.egg-cache'
 
    
 
    # sometimes it's needed to set the curent dir
 
    os.chdir('/home/web/rhodecode/') 
 

	
 
    import site
 
@@ -713,13 +723,13 @@ Some example init.d scripts can be found
 

	
 
  https://secure.rhodecode.org/rhodecode/files/beta/init.d
 

	
 
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
 
.. _python: http://www.python.org/
 
.. _mercurial: http://mercurial.selenic.com/
 
.. _celery: http://celeryproject.org/
 
.. _rabbitmq: http://www.rabbitmq.com/
 
.. _python-ldap: http://www.python-ldap.org/
 
.. _mercurial-server: http://www.lshift.net/mercurial-server.html
 
.. _PublishingRepositories: http://mercurial.selenic.com/wiki/PublishingRepositories
 
.. _Issues tracker: https://bitbucket.org/marcinkuzminski/rhodecode/issues
 
.. _google group rhodecode: http://groups.google.com/group/rhodecode
 
\ No newline at end of file
 
.. _google group rhodecode: http://groups.google.com/group/rhodecode
docs/upgrade.rst
Show inline comments
 
@@ -66,24 +66,32 @@ It is also recommended that you rebuild 
 
the new whoosh version could introduce some incompatible index changes. Please
 
Read the changelog to see if there were any changes to whoosh.
 

	
 

	
 
The final step is to upgrade the database. To do this simply run::
 

	
 
 paster upgrade-db production.ini
 
 
 
This will upgrade the schema and update some of the defaults in the database,
 
and will always recheck the settings of the application, if there are no new 
 
options that need to be set.
 

	
 

	
 
.. note::
 
   DB schema upgrade library has some limitations and can sometimes fail if you try to
 
   upgrade from older major releases. In such case simply run upgrades sequentially, eg.
 
   upgrading from 1.2.X to 1.5.X should be done like that: 1.2.X. > 1.3.X > 1.4.X > 1.5.X
 
   You can always specify what version of RhodeCode you want to install for example in pip
 
   `pip install RhodeCode==1.3.6`
 

	
 
You may find it helpful to clear out your log file so that new errors are 
 
readily apparent::
 

	
 
 echo > rhodecode.log
 

	
 
Once that is complete, you may now start your upgraded Rhodecode Instance::
 

	
 
 service rhodecode start
 

	
 
Or::
 

	
 
 paster serve /var/www/rhodecode/production.ini
docs/usage/general.rst
Show inline comments
 
@@ -4,43 +4,51 @@
 
General RhodeCode usage
 
=======================
 

	
 

	
 
Repository deleting
 
-------------------
 

	
 
Currently when admin/owner deletes a repository, RhodeCode does not physically
 
delete a repository from filesystem, it renames it in a special way so it's
 
not possible to push,clone or access repository. It's worth a notice that,
 
even if someone will be given administrative access to RhodeCode and will 
 
delete a repository You can easy restore such action by restoring `rm__<date>`
 
from the repository name, and internal repository storage (.hg/.git)
 
from the repository name, and internal repository storage (.hg/.git). There
 
is also a special command for cleaning such archived repos::
 

	
 
    paster cleanup-repos --older-than=30d production.ini
 

	
 
This command will scan for archived repositories that are older than 30d,
 
display them and ask if you want to delete them (there's a --dont-ask flag also)
 
If you host big amount of repositories with forks that are constantly deleted
 
it's recommended that you run such command via crontab.
 

	
 
Follow current branch in file view
 
----------------------------------
 

	
 
In file view when this checkbox is checked the << and >> arrows will jump
 
to changesets within the same branch currently viewing. So for example
 
if someone is viewing files at 'beta' branch and marks `follow current branch`
 
checkbox the << and >> buttons will only show him revisions for 'beta' branch
 

	
 

	
 
Compare view from changelog
 
---------------------------
 

	
 
Checkboxes in compare view allow users to view combined compare view. You can
 
only show the range between the first and last checkbox (no cherry pick).
 
Clicking more than one checkbox will activate a link in top saying
 
`Show selected changes <from-rev> -> <to-rev>` clicking this will bring
 
compare view
 
compare view. In this view also it's possible to switch to combined compare.
 

	
 
Compare view is also available from the journal on pushes having more than
 
one changeset
 

	
 

	
 
Non changeable repository urls
 
------------------------------
 

	
 
Due to complicated nature of repository grouping, often urls of repositories
 
can change.
 

	
 
example::
 
@@ -88,20 +96,20 @@ Cloning remote repositories
 
---------------------------
 

	
 
RhodeCode has an ability to clone remote repos from given remote locations.
 
Currently it support following options:
 

	
 
- hg  -> hg clone
 
- svn -> hg clone
 
- git -> git clone
 

	
 

	
 
.. note::
 
    
 
    - *`svn -> hg` cloning requires `hgsubversion` library to be installed.*
 
    * `svn -> hg` cloning requires `hgsubversion` library to be installed.*
 

	
 
If you need to clone repositories that are protected via basic auth, you
 
might pass the url with stored credentials inside eg. 
 
`http://user:passw@remote.server/repo, RhodeCode will try to login and clone
 
`http://user:passw@remote.server/repo`, RhodeCode will try to login and clone
 
using given credentials. Please take a note that they will be stored as
 
plaintext inside the database. RhodeCode will remove auth info when showing the 
 
clone url in summary page.
docs/usage/troubleshooting.rst
Show inline comments
 
@@ -46,25 +46,37 @@ Troubleshooting
 
:Q: **How i use hooks in RhodeCode?**
 
:A: It's easy if they are python hooks just use advanced link in hooks section
 
    in Admin panel, that works only for Mercurial. If you want to use githooks,
 
    just install proper one in repository eg. create file in 
 
    `/gitrepo/hooks/pre-receive`. You can also use RhodeCode-extensions to
 
    connect to callback hooks, for both Git and Mercurial.
 

	
 
|
 

	
 
:Q: **RhodeCode is slow for me, how can i make it faster?**
 
:A: See the :ref:`performance` section
 

	
 
|
 

	
 
:Q: **UnicodeDecodeError on Apache mod_wsgi**
 
:A: Please read: https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/#if-you-get-a-unicodeencodeerror
 

	
 
|
 

	
 
:Q: **Requests hanging on Windows**
 
:A: Please try out with disabled Antivirus software, there are some known problems with Eset Anitivirus. Make sure
 
    you have installed latest windows patches (especially KB2789397)
 

	
 

	
 
For further questions search the `Issues tracker`_, or post a message in the 
 
`google group rhodecode`_
 

	
 
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
 
.. _python: http://www.python.org/
 
.. _mercurial: http://mercurial.selenic.com/
 
.. _celery: http://celeryproject.org/
 
.. _rabbitmq: http://www.rabbitmq.com/
 
.. _python-ldap: http://www.python-ldap.org/
 
.. _mercurial-server: http://www.lshift.net/mercurial-server.html
 
.. _PublishingRepositories: http://mercurial.selenic.com/wiki/PublishingRepositories
 
.. _Issues tracker: https://bitbucket.org/marcinkuzminski/rhodecode/issues
 
.. _google group rhodecode: http://groups.google.com/group/rhodecode
 
\ No newline at end of file
 
.. _google group rhodecode: http://groups.google.com/group/rhodecode
0 comments (0 inline, 0 general)