##// END OF EJS Templates
Add some beauty to the README.rst
Andrew Shadura -
r4258:df5d8a67 default
parent child Browse files
Show More
@@ -1,206 +1,205 b''
1 1 =========
2 2 Kallithea
3 3 =========
4 4
5 5 About
6 6 -----
7 7
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.
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.
10 10 It works on http/https and has a built in permission/authentication system with
11 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 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,
17 self administered interface for Mercurial_ and GIT_ repositories.
18 Kallithea works on \*nix systems and Windows it is powered by a vcs_ library
19 that Lukasz Balcerzak and Marcin Kuzminski created to handle multiple
20 different version control systems.
16 It is open-source donationware and focuses more on providing a customised,
17 self-administered interface for Mercurial_ and Git_ repositories.
18 Kallithea works on Unix-like systems and Windows, and is powered by the vcs_ library
19 created by Łukasz Balcerzak and Marcin KuΕΊmiΕ„ski to uniformly handle multiple
20 version control systems.
21 21
22 22 Kallithea was forked from RhodeCode in July 2014 and has been heavily modified.
23 23
24 24 Installation
25 25 ------------
26 26 Stable releases of Kallithea are best installed via::
27 27
28 28 easy_install kallithea
29 29
30 30 Or::
31 31
32 32 pip install kallithea
33 33
34 34 Detailed instructions and links may be found on the Installation page.
35 35
36 36 Please visit http://packages.python.org/Kallithea/installation.html for
37 more details
37 more details.
38 38
39 39
40 40 Source code
41 41 -----------
42 42
43 43 The latest sources can be obtained from https://kallithea-scm.org/repos/kallithea
44 44
45 45
46 46 MIRRORS:
47 47
48 Issue tracker and sources at bitbucket_
48 Issue tracker and sources at Bitbucket_
49 49
50 50 https://bitbucket.org/conservancy/kallithea
51 51
52 52
53 53
54 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 58 Each request is authenticated and logged together with IP address.
59 - Build for speed and performance. You can make multiple pulls/pushes simultaneous.
60 Proven to work with 1000s of repositories and users
59 - Built for speed and performance. You can make multiple pulls/pushes simultaneously.
60 Proven to work with thousands of repositories and users.
61 61 - Supports http/https, LDAP, AD, proxy-pass authentication.
62 62 - Full permissions (private/read/write/admin) together with IP restrictions for each repository,
63 63 additional explicit forking, repositories group and repository creation permissions.
64 64 - User groups for easier permission management.
65 65 - Repository groups let you group repos and manage them easier. They come with
66 66 permission delegation features, so you can delegate groups management.
67 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 69 - Integrates easily with other systems, with custom created mappers you can connect it to almost
70 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 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 74 changeset statuses, and notification system.
75 - Importing and syncing repositories from remote locations for GIT_, Mercurial_ and SVN.
76 - Mako templates let's you customize the look and feel of the application.
75 - Importing and syncing repositories from remote locations for Git_, Mercurial_ and Subversion.
76 - Mako templates let you customize the look and feel of the application.
77 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
79 - Mercurial_ and Git_ DAG graphs and yui-flot powered graphs with zooming and statistics
78 Raw diffs are made in Git-diff format for both VCS systems, including Git_ binary-patches
79 - Mercurial_ and Git_ DAG graphs and Flot-powered graphs with zooming and statistics
80 80 to track activity for repositories
81 81 - Admin interface with user/permission management. Admin activity journal, logs
82 82 pulls, pushes, forks, registrations and other actions made by all users.
83 83 - Server side forks. It is possible to fork a project and modify it freely
84 84 without breaking the main repository.
85 - rst and markdown README support for repositories.
85 - reST and Markdown README support for repositories.
86 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 88 (no external search servers required all in one application)
89 - Setup project descriptions/tags and info inside built in db for easy, non
90 file-system operations.
89 - Setup project descriptions/tags and info inside built in DB for easy,
90 non-filesystem operations.
91 91 - Intelligent cache with invalidation after push or project change, provides
92 92 high performance and always up to date data.
93 - RSS / Atom feeds, gravatar support, downloadable sources as zip/tar/gz
94 - Optional async tasks for speed and performance using celery_
93 - RSS/Atom feeds, Gravatar support, downloadable sources as zip/tar/gz
94 - Optional async tasks for speed and performance using Celery_
95 95 - Backup scripts can do backup of whole app and send it over scp to desired
96 96 location
97 - Based on pylons / sqlalchemy / sqlite / whoosh / vcs
97 - Based on Pylons, SQLAlchemy, SQLite, Whoosh, vcs
98 98
99 99
100 100 Incoming / Plans
101 101 ----------------
102 102
103 103 - Finer granular permissions per branch, or subrepo
104 - Web based merges for pull requests
104 - Web-based merges for pull requests
105 105 - Tracking history for each lines in files
106 106 - Simple issue tracker
107 - SSH based authentication with server side key management
107 - SSH-based authentication with server side key management
108 108 - Commit based built in wiki system
109 109 - More statistics and graph (global annotation + some more statistics)
110 110 - Other advancements as development continues (or you can of course make
111 111 additions and or requests)
112 112
113 113 License
114 114 -------
115 115
116 116 ``Kallithea`` is released under the GPLv3 license.
117 117
118 118
119 119 Getting help
120 120 ------------
121 121
122 122 Listed bellow are various support resources that should help.
123 123
124 124 .. note::
125 125
126 126 Please try to read the documentation before posting any issues, especially
127 127 the **troubleshooting section**
128 128
129 129 - Open an issue at `issue tracker <https://bitbucket.org/conservancy/kallithea/issues>`_
130 130
131 131 - Join #kallithea on FreeNode (irc.freenode.net)
132 132 or use http://webchat.freenode.net/?channels=kallithea for web access to irc.
133 133
134 134 You can follow this project on Twitter, **@KallitheaSCM**.
135 135
136 136
137 137 Online documentation
138 138 --------------------
139 139
140 140 Online documentation for the current version of Kallithea is available at
141 141 - http://packages.python.org/Kallithea/
142 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 146 make html
147 147
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:
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:
150 150 ``easy_install sphinx``)
151 151
152 152
153 153 Converting from RhodeCode
154 154 -------------------------
155 155
156 156 Currently, you have two options for working with an existing RhodeCode database:
157 157 - keep the database unconverted (intended for testing and evaluation)
158 158 - convert the database in a one-time step
159 159
160 160 Maintaining Interoperability
161 161 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162 162
163 163 Interoperability with RhodeCode 2.2.5 installations is provided so you don't
164 164 have to immediately commit to switching to Kallithea. This option will most
165 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 169 echo "BRAND = 'rhodecode'" > kallithea/brand.py
170 170
171 171 This location will depend on where you installed Kallithea. If you installed via::
172 172
173 173 python setup.py install
174 174
175 175 then you will find this location at
176 176 ``$VIRTUAL_ENV/lib/python2.7/site-packages/Kallithea-2.2.5-py2.7.egg/kallithea``
177 177
178 178 One-time Conversion
179 179 ~~~~~~~~~~~~~~~~~~~
180 180
181 181 Alternatively, if you would like to convert the database for good, you can use
182 182 a helper script provided by Kallithea. This script will operate directly on the
183 183 database, using the database string you can find in your ``production.ini`` (or
184 184 ``development.ini``) file. For example, if using SQLite::
185 185
186 186 cd /path/to/kallithea
187 187 cp /path/to/rhodecode/rhodecode.db kallithea.db
188 188 pip install sqlalchemy-migrate
189 189 python kallithea/bin/rebranddb.py sqlite:///kallithea.db
190 190
191 191 .. WARNING::
192 192
193 193 If you used the other method for interoperability, overwrite brand.py with
194 194 an empty file (or watch out for stray brand.pyc after removing brand.py).
195 195
196 196 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
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/
197 .. _Python: http://www.python.org/
205 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 205 .. _vcs: http://pypi.python.org/pypi/vcs
General Comments 0
You need to be logged in to leave comments. Login now