Version control systems setup
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. For example, to disable Git but keep Mercurial enabled:
BACKENDS = { 'hg': 'Mercurial repository', #'git': 'Git repository', }
Git-specific setup
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 gearbox serve instead of the built-in paste WSGI server.
The web server used by gearbox 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 =