comparison README.rst @ 4258:df5d8a67c30c

Add some beauty to the README.rst
author Andrew Shadura <andrew@shadura.me>
date Tue, 15 Jul 2014 14:29:03 +0200
parents 9b5f8a8b2673
children 03bbd33bc084
comparison
equal deleted inserted replaced
4257:7dba6116496c 4258:df5d8a67c30c
3 ========= 3 =========
4 4
5 About 5 About
6 ----- 6 -----
7 7
8 ``Kallithea`` is a fast and powerful management tool for Mercurial_ and GIT_ 8 ``Kallithea`` is a fast and powerful management tool for Mercurial_ and Git_
9 with a built in push/pull server, full text search and code-review. 9 with a built-in push/pull server, full text search and code-review.
10 It works on http/https and has a built in permission/authentication system with 10 It works on http/https and has a built in permission/authentication system with
11 the ability to authenticate via LDAP or ActiveDirectory. Kallithea also provides 11 the ability to authenticate via LDAP or ActiveDirectory. Kallithea also provides
12 simple API so it's easy integrable with existing external systems. 12 simple API so it's easy to integrate with existing external systems.
13 13
14 Kallithea is similar in some respects to github_ or bitbucket_, 14 Kallithea is similar in some respects to GitHub_ or Bitbucket_,
15 however Kallithea can be run as standalone hosted application on your own server. 15 however Kallithea can be run as standalone hosted application on your own server.
16 It is open source and donation ware and focuses more on providing a customized, 16 It is open-source donationware and focuses more on providing a customised,
17 self administered interface for Mercurial_ and GIT_ repositories. 17 self-administered interface for Mercurial_ and Git_ repositories.
18 Kallithea works on \*nix systems and Windows it is powered by a vcs_ library 18 Kallithea works on Unix-like systems and Windows, and is powered by the vcs_ library
19 that Lukasz Balcerzak and Marcin Kuzminski created to handle multiple 19 created by Łukasz Balcerzak and Marcin Kuźmiński to uniformly handle multiple
20 different version control systems. 20 version control systems.
21 21
22 Kallithea was forked from RhodeCode in July 2014 and has been heavily modified. 22 Kallithea was forked from RhodeCode in July 2014 and has been heavily modified.
23 23
24 Installation 24 Installation
25 ------------ 25 ------------
32 pip install kallithea 32 pip install kallithea
33 33
34 Detailed instructions and links may be found on the Installation page. 34 Detailed instructions and links may be found on the Installation page.
35 35
36 Please visit http://packages.python.org/Kallithea/installation.html for 36 Please visit http://packages.python.org/Kallithea/installation.html for
37 more details 37 more details.
38 38
39 39
40 Source code 40 Source code
41 ----------- 41 -----------
42 42
43 The latest sources can be obtained from https://kallithea-scm.org/repos/kallithea 43 The latest sources can be obtained from https://kallithea-scm.org/repos/kallithea
44 44
45 45
46 MIRRORS: 46 MIRRORS:
47 47
48 Issue tracker and sources at bitbucket_ 48 Issue tracker and sources at Bitbucket_
49 49
50 https://bitbucket.org/conservancy/kallithea 50 https://bitbucket.org/conservancy/kallithea
51 51
52 52
53 53
54 Kallithea Features 54 Kallithea Features
55 ------------------ 55 ------------------
56 56
57 - Has its own middleware to handle mercurial_ and git_ protocol requests. 57 - Has its own middleware to handle Mercurial_ and Git_ protocol requests.
58 Each request is authenticated and logged together with IP address. 58 Each request is authenticated and logged together with IP address.
59 - Build for speed and performance. You can make multiple pulls/pushes simultaneous. 59 - Built for speed and performance. You can make multiple pulls/pushes simultaneously.
60 Proven to work with 1000s of repositories and users 60 Proven to work with thousands of repositories and users.
61 - Supports http/https, LDAP, AD, proxy-pass authentication. 61 - Supports http/https, LDAP, AD, proxy-pass authentication.
62 - Full permissions (private/read/write/admin) together with IP restrictions for each repository, 62 - Full permissions (private/read/write/admin) together with IP restrictions for each repository,
63 additional explicit forking, repositories group and repository creation permissions. 63 additional explicit forking, repositories group and repository creation permissions.
64 - User groups for easier permission management. 64 - User groups for easier permission management.
65 - Repository groups let you group repos and manage them easier. They come with 65 - Repository groups let you group repos and manage them easier. They come with
66 permission delegation features, so you can delegate groups management. 66 permission delegation features, so you can delegate groups management.
67 - Users can fork other users repos, and compare them at any time. 67 - Users can fork other users repos, and compare them at any time.
68 - Built in Gist functionality for sharing code snippets. 68 - Built-in versioned paste functionality (Gist) for sharing code snippets.
69 - Integrates easily with other systems, with custom created mappers you can connect it to almost 69 - Integrates easily with other systems, with custom created mappers you can connect it to almost
70 any issue tracker, and with an JSON-RPC API you can make much more 70 any issue tracker, and with an JSON-RPC API you can make much more
71 - Build in commit-api let's you add, edit and commit files right from Kallithea 71 - Built-in commit API lets you add, edit and commit files right from Kallithea
72 web interface using simple editor or upload binary files using simple form. 72 web interface using simple editor or upload binary files using simple form.
73 - Powerfull pull-request driven review system with inline commenting, 73 - Powerful pull request driven review system with inline commenting,
74 changeset statuses, and notification system. 74 changeset statuses, and notification system.
75 - Importing and syncing repositories from remote locations for GIT_, Mercurial_ and SVN. 75 - Importing and syncing repositories from remote locations for Git_, Mercurial_ and Subversion.
76 - Mako templates let's you customize the look and feel of the application. 76 - Mako templates let you customize the look and feel of the application.
77 - Beautiful diffs, annotations and source code browsing all colored by pygments. 77 - Beautiful diffs, annotations and source code browsing all colored by pygments.
78 Raw diffs are made in git-diff format for both VCS systems, including GIT_ binary-patches 78 Raw diffs are made in Git-diff format for both VCS systems, including Git_ binary-patches
79 - Mercurial_ and Git_ DAG graphs and yui-flot powered graphs with zooming and statistics 79 - Mercurial_ and Git_ DAG graphs and Flot-powered graphs with zooming and statistics
80 to track activity for repositories 80 to track activity for repositories
81 - Admin interface with user/permission management. Admin activity journal, logs 81 - Admin interface with user/permission management. Admin activity journal, logs
82 pulls, pushes, forks, registrations and other actions made by all users. 82 pulls, pushes, forks, registrations and other actions made by all users.
83 - Server side forks. It is possible to fork a project and modify it freely 83 - Server side forks. It is possible to fork a project and modify it freely
84 without breaking the main repository. 84 without breaking the main repository.
85 - rst and markdown README support for repositories. 85 - reST and Markdown README support for repositories.
86 - Full text search powered by Whoosh on the source files, commit messages, and file names. 86 - Full text search powered by Whoosh on the source files, commit messages, and file names.
87 Build in indexing daemons, with optional incremental index build 87 Built-in indexing daemons, with optional incremental index build
88 (no external search servers required all in one application) 88 (no external search servers required all in one application)
89 - Setup project descriptions/tags and info inside built in db for easy, non 89 - Setup project descriptions/tags and info inside built in DB for easy,
90 file-system operations. 90 non-filesystem operations.
91 - Intelligent cache with invalidation after push or project change, provides 91 - Intelligent cache with invalidation after push or project change, provides
92 high performance and always up to date data. 92 high performance and always up to date data.
93 - RSS / Atom feeds, gravatar support, downloadable sources as zip/tar/gz 93 - RSS/Atom feeds, Gravatar support, downloadable sources as zip/tar/gz
94 - Optional async tasks for speed and performance using celery_ 94 - Optional async tasks for speed and performance using Celery_
95 - Backup scripts can do backup of whole app and send it over scp to desired 95 - Backup scripts can do backup of whole app and send it over scp to desired
96 location 96 location
97 - Based on pylons / sqlalchemy / sqlite / whoosh / vcs 97 - Based on Pylons, SQLAlchemy, SQLite, Whoosh, vcs
98 98
99 99
100 Incoming / Plans 100 Incoming / Plans
101 ---------------- 101 ----------------
102 102
103 - Finer granular permissions per branch, or subrepo 103 - Finer granular permissions per branch, or subrepo
104 - Web based merges for pull requests 104 - Web-based merges for pull requests
105 - Tracking history for each lines in files 105 - Tracking history for each lines in files
106 - Simple issue tracker 106 - Simple issue tracker
107 - SSH based authentication with server side key management 107 - SSH-based authentication with server side key management
108 - Commit based built in wiki system 108 - Commit based built in wiki system
109 - More statistics and graph (global annotation + some more statistics) 109 - More statistics and graph (global annotation + some more statistics)
110 - Other advancements as development continues (or you can of course make 110 - Other advancements as development continues (or you can of course make
111 additions and or requests) 111 additions and or requests)
112 112
139 139
140 Online documentation for the current version of Kallithea is available at 140 Online documentation for the current version of Kallithea is available at
141 - http://packages.python.org/Kallithea/ 141 - http://packages.python.org/Kallithea/
142 - http://kallithea.readthedocs.org/ 142 - http://kallithea.readthedocs.org/
143 143
144 You may also build the documentation for yourself - go into ``docs/`` and run:: 144 You may also build the documentation for yourself: go into ``docs/`` and run::
145 145
146 make html 146 make html
147 147
148 (You need to have sphinx_ installed to build the documentation. If you don't 148 (You need to have Sphinx_ installed to build the documentation. If you don't
149 have sphinx_ installed you can install it via the command: 149 have Sphinx_ installed you can install it via the command:
150 ``easy_install sphinx``) 150 ``easy_install sphinx``)
151 151
152 152
153 Converting from RhodeCode 153 Converting from RhodeCode
154 ------------------------- 154 -------------------------
162 162
163 Interoperability with RhodeCode 2.2.5 installations is provided so you don't 163 Interoperability with RhodeCode 2.2.5 installations is provided so you don't
164 have to immediately commit to switching to Kallithea. This option will most 164 have to immediately commit to switching to Kallithea. This option will most
165 likely go away once the two projects have diverged significantly. 165 likely go away once the two projects have diverged significantly.
166 166
167 To run Kallithea on a Rhodecode database, run:: 167 To run Kallithea on a RhodeCode database, run::
168 168
169 echo "BRAND = 'rhodecode'" > kallithea/brand.py 169 echo "BRAND = 'rhodecode'" > kallithea/brand.py
170 170
171 This location will depend on where you installed Kallithea. If you installed via:: 171 This location will depend on where you installed Kallithea. If you installed via::
172 172
192 192
193 If you used the other method for interoperability, overwrite brand.py with 193 If you used the other method for interoperability, overwrite brand.py with
194 an empty file (or watch out for stray brand.pyc after removing brand.py). 194 an empty file (or watch out for stray brand.pyc after removing brand.py).
195 195
196 .. _virtualenv: http://pypi.python.org/pypi/virtualenv 196 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
197 .. _python: http://www.python.org/ 197 .. _Python: http://www.python.org/
198 .. _sphinx: http://sphinx.pocoo.org/
199 .. _mercurial: http://mercurial.selenic.com/
200 .. _bitbucket: http://bitbucket.org/
201 .. _github: http://github.com/
202 .. _subversion: http://subversion.tigris.org/
203 .. _git: http://git-scm.com/
204 .. _celery: http://celeryproject.org/
205 .. _Sphinx: http://sphinx.pocoo.org/ 198 .. _Sphinx: http://sphinx.pocoo.org/
199 .. _Mercurial: http://mercurial.selenic.com/
200 .. _Bitbucket: http://bitbucket.org/
201 .. _GitHub: http://github.com/
202 .. _Subversion: http://subversion.tigris.org/
203 .. _Git: http://git-scm.com/
204 .. _Celery: http://celeryproject.org/
206 .. _vcs: http://pypi.python.org/pypi/vcs 205 .. _vcs: http://pypi.python.org/pypi/vcs