##// 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 Kallithea
2 Kallithea
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 ------------
26 Stable releases of Kallithea are best installed via::
26 Stable releases of Kallithea are best installed via::
27
27
28 easy_install kallithea
28 easy_install kallithea
29
29
30 Or::
30 Or::
31
31
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
113 License
113 License
114 -------
114 -------
115
115
116 ``Kallithea`` is released under the GPLv3 license.
116 ``Kallithea`` is released under the GPLv3 license.
117
117
118
118
119 Getting help
119 Getting help
120 ------------
120 ------------
121
121
122 Listed bellow are various support resources that should help.
122 Listed bellow are various support resources that should help.
123
123
124 .. note::
124 .. note::
125
125
126 Please try to read the documentation before posting any issues, especially
126 Please try to read the documentation before posting any issues, especially
127 the **troubleshooting section**
127 the **troubleshooting section**
128
128
129 - Open an issue at `issue tracker <https://bitbucket.org/conservancy/kallithea/issues>`_
129 - Open an issue at `issue tracker <https://bitbucket.org/conservancy/kallithea/issues>`_
130
130
131 - Join #kallithea on FreeNode (irc.freenode.net)
131 - Join #kallithea on FreeNode (irc.freenode.net)
132 or use http://webchat.freenode.net/?channels=kallithea for web access to irc.
132 or use http://webchat.freenode.net/?channels=kallithea for web access to irc.
133
133
134 You can follow this project on Twitter, **@KallitheaSCM**.
134 You can follow this project on Twitter, **@KallitheaSCM**.
135
135
136
136
137 Online documentation
137 Online documentation
138 --------------------
138 --------------------
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 -------------------------
155
155
156 Currently, you have two options for working with an existing RhodeCode database:
156 Currently, you have two options for working with an existing RhodeCode database:
157 - keep the database unconverted (intended for testing and evaluation)
157 - keep the database unconverted (intended for testing and evaluation)
158 - convert the database in a one-time step
158 - convert the database in a one-time step
159
159
160 Maintaining Interoperability
160 Maintaining Interoperability
161 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
173 python setup.py install
173 python setup.py install
174
174
175 then you will find this location at
175 then you will find this location at
176 ``$VIRTUAL_ENV/lib/python2.7/site-packages/Kallithea-2.2.5-py2.7.egg/kallithea``
176 ``$VIRTUAL_ENV/lib/python2.7/site-packages/Kallithea-2.2.5-py2.7.egg/kallithea``
177
177
178 One-time Conversion
178 One-time Conversion
179 ~~~~~~~~~~~~~~~~~~~
179 ~~~~~~~~~~~~~~~~~~~
180
180
181 Alternatively, if you would like to convert the database for good, you can use
181 Alternatively, if you would like to convert the database for good, you can use
182 a helper script provided by Kallithea. This script will operate directly on the
182 a helper script provided by Kallithea. This script will operate directly on the
183 database, using the database string you can find in your ``production.ini`` (or
183 database, using the database string you can find in your ``production.ini`` (or
184 ``development.ini``) file. For example, if using SQLite::
184 ``development.ini``) file. For example, if using SQLite::
185
185
186 cd /path/to/kallithea
186 cd /path/to/kallithea
187 cp /path/to/rhodecode/rhodecode.db kallithea.db
187 cp /path/to/rhodecode/rhodecode.db kallithea.db
188 pip install sqlalchemy-migrate
188 pip install sqlalchemy-migrate
189 python kallithea/bin/rebranddb.py sqlite:///kallithea.db
189 python kallithea/bin/rebranddb.py sqlite:///kallithea.db
190
190
191 .. WARNING::
191 .. WARNING::
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
General Comments 0
You need to be logged in to leave comments. Login now