##// END OF EJS Templates
pep386 versioning
marcink -
r2136:b70721d0 beta
parent child Browse files
Show More
@@ -1,174 +1,174 b''
1 1 =========
2 2 RhodeCode
3 3 =========
4 4
5 5 About
6 6 -----
7 7
8 8 ``RhodeCode`` is a fast and powerful management tool for Mercurial_ and GIT_
9 9 with a built in push/pull server and 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. RhodeCode also provides
12 12 simple API so it's easy integrable with existing external systems.
13 13
14 14 RhodeCode is similar in some respects to github_ or bitbucket_,
15 15 however RhodeCode can be run as standalone hosted application on your own server.
16 16 It is open source and donation ware and focuses more on providing a customized,
17 17 self administered interface for Mercurial_ and GIT_ repositories.
18 18 RhodeCode works on *nix systems and Windows it is powered by a vcs_ library
19 19 that Lukasz Balcerzak and Marcin Kuzminski created to handle multiple
20 20 different version control systems.
21 21
22 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
22 RhodeCode uses `PEP386 versioning http://www.python.org/dev/peps/pep-0386/`_
23 23
24 24 Installation
25 25 ------------
26 26 Stable releases of RhodeCode are best installed via::
27 27
28 28 easy_install rhodecode
29 29
30 30 Or::
31 31
32 32 pip install rhodecode
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/RhodeCode/installation.html for
37 37 more details
38 38
39 39 RhodeCode demo
40 40 --------------
41 41
42 42 http://demo.rhodecode.org
43 43
44 44 The default access is anonymous but you can login to an administrative account
45 45 using the following credentials:
46 46
47 47 - username: demo
48 48 - password: demo12
49 49
50 50 Source code
51 51 -----------
52 52
53 53 The latest sources can be obtained from official RhodeCode instance
54 54 https://secure.rhodecode.org
55 55
56 56
57 57 MIRRORS:
58 58
59 59 Issue tracker and sources at bitbucket_
60 60
61 61 http://bitbucket.org/marcinkuzminski/rhodecode
62 62
63 63 Sources at github_
64 64
65 65 https://github.com/marcinkuzminski/rhodecode
66 66
67 67
68 68 RhodeCode Features
69 69 ------------------
70 70
71 71 - Has its own middleware to handle mercurial_ protocol requests.
72 72 Each request can be logged and authenticated.
73 73 - Runs on threads unlike hgweb. You can make multiple pulls/pushes simultaneous.
74 74 Supports http/https and LDAP
75 75 - Full permissions (private/read/write/admin) and authentication per project.
76 76 One account for web interface and mercurial_ push/pull/clone operations.
77 77 - Have built in users groups for easier permission management
78 78 - Repository groups let you group repos and manage them easier.
79 79 - Users can fork other users repo. RhodeCode have also compare view to see
80 80 combined changeset for all changeset made within single push.
81 81 - Build in commit-api let's you add, edit and commit files right from RhodeCode
82 82 interface using simple editor or upload form for binaries.
83 83 - Mako templates let's you customize the look and feel of the application.
84 84 - Beautiful diffs, annotations and source code browsing all colored by pygments.
85 85 Raw diffs are made in git-diff format, including git_ binary-patches
86 86 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
87 87 - Admin interface with user/permission management. Admin activity journal, logs
88 88 pulls, pushes, forks, registrations and other actions made by all users.
89 89 - Server side forks. It is possible to fork a project and modify it freely
90 90 without breaking the main repository. You can even write Your own hooks
91 91 and install them
92 92 - code review with notification system, inline commenting, all parsed using
93 93 rst syntax
94 94 - rst and markdown README support for repositories
95 95 - Full text search powered by Whoosh on the source files, and file names.
96 96 Build in indexing daemons, with optional incremental index build
97 97 (no external search servers required all in one application)
98 98 - Setup project descriptions and info inside built in db for easy, non
99 99 file-system operations
100 100 - Intelligent cache with invalidation after push or project change, provides
101 101 high performance and always up to date data.
102 102 - Rss / atom feeds, gravatar support, download sources as zip/tar/gz
103 103 - Async tasks for speed and performance using celery_ (works without them too)
104 104 - Backup scripts can do backup of whole app and send it over scp to desired
105 105 location
106 106 - Based on pylons / sqlalchemy / sqlite / whoosh / vcs
107 107
108 108
109 109 Incoming / Plans
110 110 ----------------
111 111
112 112 - Finer granular permissions per branch, repo group or subrepo
113 113 - pull requests and web based merges
114 114 - per line file history
115 115 - SSH based authentication with server side key management
116 116 - Commit based built in wiki system
117 117 - More statistics and graph (global annotation + some more statistics)
118 118 - Other advancements as development continues (or you can of course make
119 119 additions and or requests)
120 120
121 121 License
122 122 -------
123 123
124 124 ``RhodeCode`` is released under the GPLv3 license.
125 125
126 126
127 127 Getting help
128 128 ------------
129 129
130 130 Listed bellow are various support resources that should help.
131 131
132 132 .. note::
133 133
134 134 Please try to read the documentation before posting any issues
135 135
136 136 - Join the `Google group <http://groups.google.com/group/rhodecode>`_ and ask
137 137 any questions.
138 138
139 139 - Open an issue at `issue tracker <http://bitbucket.org/marcinkuzminski/rhodecode/issues>`_
140 140
141 141
142 142 - Join #rhodecode on FreeNode (irc.freenode.net)
143 143 or use http://webchat.freenode.net/?channels=rhodecode for web access to irc.
144 144
145 145 - You can also follow me on twitter **@marcinkuzminski** where i often post some
146 146 news about RhodeCode
147 147
148 148
149 149 Online documentation
150 150 --------------------
151 151
152 152 Online documentation for the current version of RhodeCode is available at
153 153 - http://packages.python.org/RhodeCode/
154 154 - http://rhodecode.readthedocs.org/en/latest/index.html
155 155
156 156 You may also build the documentation for yourself - go into ``docs/`` and run::
157 157
158 158 make html
159 159
160 160 (You need to have sphinx_ installed to build the documentation. If you don't
161 161 have sphinx_ installed you can install it via the command:
162 162 ``easy_install sphinx``)
163 163
164 164 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
165 165 .. _python: http://www.python.org/
166 166 .. _sphinx: http://sphinx.pocoo.org/
167 167 .. _mercurial: http://mercurial.selenic.com/
168 168 .. _bitbucket: http://bitbucket.org/
169 169 .. _github: http://github.com/
170 170 .. _subversion: http://subversion.tigris.org/
171 171 .. _git: http://git-scm.com/
172 172 .. _celery: http://celeryproject.org/
173 173 .. _Sphinx: http://sphinx.pocoo.org/
174 174 .. _vcs: http://pypi.python.org/pypi/vcs No newline at end of file
@@ -1,95 +1,93 b''
1 1 # -*- coding: utf-8 -*-
2 2 """
3 3 rhodecode.__init__
4 4 ~~~~~~~~~~~~~~~~~~
5 5
6 6 RhodeCode, a web based repository management based on pylons
7 versioning implementation: http://semver.org/
7 versioning implementation: http://www.python.org/dev/peps/pep-0386/
8 8
9 9 :created_on: Apr 9, 2010
10 10 :author: marcink
11 11 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
12 12 :license: GPLv3, see COPYING for more details.
13 13 """
14 14 # This program is free software: you can redistribute it and/or modify
15 15 # it under the terms of the GNU General Public License as published by
16 16 # the Free Software Foundation, either version 3 of the License, or
17 17 # (at your option) any later version.
18 18 #
19 19 # This program is distributed in the hope that it will be useful,
20 20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 22 # GNU General Public License for more details.
23 23 #
24 24 # You should have received a copy of the GNU General Public License
25 25 # along with this program. If not, see <http://www.gnu.org/licenses/>.
26 26 import sys
27 27 import platform
28 28
29 VERSION = (1, 3, 4, 'beta')
30 __version__ = '.'.join((str(each) for each in VERSION[:4]))
29 VERSION = (1, 3, 4, 'b')
30
31 try:
32 from rhodecode.lib import get_current_revision
33 _rev = get_current_revision()
34 VERSION += ('dev%s' % _rev[0],)
35 except ImportError:
36 pass
37
38 __version__ = ('.'.join((str(each) for each in VERSION[:3])) +
39 '.'.join(VERSION[3:]))
31 40 __dbversion__ = 5 # defines current db version for migrations
32 41 __platform__ = platform.system()
33 42 __license__ = 'GPLv3'
34 43 __py_version__ = sys.version_info
35 44
36 45 PLATFORM_WIN = ('Windows')
37 46 PLATFORM_OTHERS = ('Linux', 'Darwin', 'FreeBSD', 'OpenBSD', 'SunOS')
38 47
39 48 requirements = [
40 49 "Pylons==1.0.0",
41 50 "Beaker==1.6.3",
42 51 "WebHelpers==1.3",
43 52 "formencode==1.2.4",
44 53 "SQLAlchemy==0.7.6",
45 54 "Mako==0.6.2",
46 55 "pygments>=1.4",
47 56 "whoosh>=2.3.0,<2.4",
48 57 "celery>=2.2.5,<2.3",
49 58 "babel",
50 59 "python-dateutil>=1.5.0,<2.0.0",
51 60 "dulwich>=0.8.0,<0.9.0",
52 61 "webob==1.0.8",
53 62 "markdown==2.1.1",
54 63 "docutils==0.8.1",
55 64 ]
56 65
57 66 if __py_version__ < (2, 6):
58 67 requirements.append("simplejson")
59 68 requirements.append("pysqlite")
60 69
61 70 if __platform__ in PLATFORM_WIN:
62 71 requirements.append("mercurial>=2.1,<2.2")
63 72 else:
64 73 requirements.append("py-bcrypt")
65 74 requirements.append("mercurial>=2.1,<2.2")
66 75
67 76
68 try:
69 from rhodecode.lib import get_current_revision
70 _rev = get_current_revision()
71 except ImportError:
72 # this is needed when doing some setup.py operations
73 _rev = False
74
75 if len(VERSION) > 3 and _rev:
76 __version__ += ' [rev:%s]' % _rev[0]
77
78
79 77 def get_version():
80 78 """Returns shorter version (digit parts only) as string."""
81 79
82 80 return '.'.join((str(each) for each in VERSION[:3]))
83 81
84 82 BACKENDS = {
85 83 'hg': 'Mercurial repository',
86 84 'git': 'Git repository',
87 85 }
88 86
89 87 CELERY_ON = False
90 88
91 89 # link to config for pylons
92 90 CONFIG = {}
93 91
94 92 # Linked module for extensions
95 93 EXTENSIONS = {}
General Comments 0
You need to be logged in to leave comments. Login now