Changeset - b52a1ccee927
[Not reviewed]
default
0 1 0
Thomas De Schampheleire - 11 years ago 2015-04-05 21:05:12
thomas.de.schampheleire@gmail.com
docs/usage: reword information on Mercurial subrepository support
1 file changed with 17 insertions and 19 deletions:
0 comments (0 inline, 0 general)
docs/usage/vcs_support.rst
Show inline comments
 
@@ -4,81 +4,79 @@
 
Version control systems support
 
===============================
 

	
 
Kallithea supports Git and Mercurial repositories out-of-the-box.
 
For Git, you do need the ``git`` command line client installed on the server.
 

	
 
You can always disable Git or Mercurial support by editing the
 
file ``kallithea/__init__.py`` and commenting out the backend.
 

	
 
.. code-block:: python
 

	
 
   BACKENDS = {
 
       'hg': 'Mercurial repository',
 
       #'git': 'Git repository',
 
   }
 

	
 
Git support
 
-----------
 

	
 
Web server with chunked encoding
 
````````````````````````````````
 
Large Git pushes require an HTTP server with support for
 
chunked encoding for POST. The Python web servers waitress_ and
 
gunicorn_ (Linux only) can be used. By default, Kallithea uses
 
waitress_ for `paster serve` instead of the built-in `paste` WSGI
 
server.
 

	
 
The default paste server is controlled in the .ini file::
 

	
 
    use = egg:waitress#main
 

	
 
or::
 

	
 
    use = egg:gunicorn#main
 

	
 

	
 
Also make sure to comment out the following options::
 

	
 
    threadpool_workers =
 
    threadpool_max_requests =
 
    use_threadpool =
 

	
 

	
 
Mercurial support
 
-----------------
 

	
 
Working with Mercurial subrepositories
 
``````````````````````````````````````
 
Example usage of Subrepos with Kallithea::
 
This section explains how to use Mercurial subrepositories_ in Kallithea.
 

	
 
Example usage::
 

	
 
    ## init a simple repo
 
    hg init repo1
 
    cd repo1
 
    echo "file1" > file1
 
    hg add file1
 
    hg ci --message "initial file 1"
 
    hg init mainrepo
 
    cd mainrepo
 
    echo "file" > file
 
    hg add file
 
    hg ci --message "initial file"
 

	
 
    #clone subrepo we want to add
 
    # clone subrepo we want to add from Kallithea
 
    hg clone http://kallithea.local/subrepo
 

	
 
    ## use path like url to existing repo in Kallithea
 
    ## specify URL to existing repo in Kallithea as subrepository path
 
    echo "subrepo = http://kallithea.local/subrepo" > .hgsub
 

	
 
    hg add .hgsub
 
    hg ci --message "added remote subrepo"
 

	
 

	
 
In the file list of a clone of ``repo1`` you will see a connected
 
subrepo at the revision it was at during cloning. Clicking in
 
subrepos link should send you to the proper repository in Kallithea.
 
In the file list of a clone of ``mainrepo`` you will see a connected
 
subrepository at the revision it was cloned with. Clicking on the
 
subrepository link sends you to the proper repository in Kallithea.
 

	
 
Cloning ``repo1`` will also clone the attached subrepository.
 
Cloning ``mainrepo`` will also clone the attached subrepository.
 

	
 
Next we can edit the subrepo data, and push back to Kallithea. This will update
 
both of the repositories.
 

	
 
See http://mercurial.aragost.com/kick-start/en/subrepositories/ for more
 
information about subrepositories.
 
Next we can edit the subrepository data, and push back to Kallithea. This will
 
update both repositories.
 

	
 
.. _waitress: http://pypi.python.org/pypi/waitress
 
.. _gunicorn: http://pypi.python.org/pypi/gunicorn
 
.. _subrepositories: http://mercurial.aragost.com/kick-start/en/subrepositories/
0 comments (0 inline, 0 general)