##// END OF EJS Templates
fixed license in setup file, readme fixes
marcink -
r1167:31271205 beta
parent child Browse files
Show More
@@ -1,137 +1,148 b''
1
1
2 =================================================
2 =================================================
3 Welcome to RhodeCode (RhodiumCode) documentation!
3 Welcome to RhodeCode (RhodiumCode) documentation!
4 =================================================
4 =================================================
5
5
6 ``RhodeCode`` (formerly hg-app) is a Pylons framework based Mercurial repository
6 ``RhodeCode`` (formerly hg-app) is a Pylons framework based Mercurial repository
7 browser/management tool with a built in push/pull server and full text search.
7 browser/management tool with a built in push/pull server and full text search.
8 It works on http/https and has a built in permission/authentication system with
8 It works on http/https and has a built in permission/authentication system with
9 the ability to authenticate via LDAP.
9 the ability to authenticate via LDAP.
10
10
11 RhodeCode is similar in some respects to github or bitbucket_,
11 RhodeCode is similar in some respects to github or bitbucket_,
12 however RhodeCode can be run as standalone hosted application on your own server.
12 however RhodeCode can be run as standalone hosted application on your own server.
13 It is open source and donation ware and focuses more on providing a customized,
13 It is open source and donation ware and focuses more on providing a customized,
14 self administered interface for Mercurial(and soon GIT) repositories.
14 self administered interface for Mercurial(and soon GIT) repositories.
15 RhodeCode is powered by a vcs_ library that Lukasz Balcerzak and I created to
15 RhodeCode is powered by a vcs_ library that Lukasz Balcerzak and I created to
16 handle multiple different version control systems.
16 handle multiple different version control systems.
17
17
18 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
18 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
19
19
20 RhodeCode demo
20 RhodeCode demo
21 --------------
21 --------------
22
22
23 http://demo.rhodecode.org
23 http://demo.rhodecode.org
24
24
25 The default access is anonymous but you can login to an administrative account
25 The default access is anonymous but you can login to an administrative account
26 using the following credentials:
26 using the following credentials:
27
27
28 - username: demo
28 - username: demo
29 - password: demo
29 - password: demo
30
30
31 Source code
31 Source code
32 -----------
32 -----------
33
33
34 The latest source for RhodeCode can be obtained from official RhodeCode instance
34 The latest sources can be obtained from official RhodeCode instance
35 https://hg.rhodecode.org
35 https://hg.rhodecode.org
36
36
37 Rarely updated source code and issue tracker is available at bitbcuket
37
38 MIRRORS:
39
40 Issue tracker and sources at bitbucket_
41
38 http://bitbucket.org/marcinkuzminski/rhodecode
42 http://bitbucket.org/marcinkuzminski/rhodecode
39
43
44 Sources at github_
45
46 https://github.com/marcinkuzminski/rhodecode
47
40 Installation
48 Installation
41 ------------
49 ------------
42
50
43 Please visit http://packages.python.org/RhodeCode/installation.html
51 Please visit http://packages.python.org/RhodeCode/installation.html
44
52
45
53
46 RhodeCode Features
54 RhodeCode Features
47 ------------------
55 ------------------
48
56
49 - Has it's own middleware to handle mercurial_ protocol requests.
57 - Has it's own middleware to handle mercurial_ protocol requests.
50 Each request can be logged and authenticated.
58 Each request can be logged and authenticated.
51 - Runs on threads unlike hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https
59 - Runs on threads unlike hgweb. You can make multiple pulls/pushes simultaneous.
52 and LDAP
60 Supports http/https and LDAP
53 - Full permissions (private/read/write/admin) and authentication per project.
61 - Full permissions (private/read/write/admin) and authentication per project.
54 One account for web interface and mercurial_ push/pull/clone operations.
62 One account for web interface and mercurial_ push/pull/clone operations.
55 - Have built in users groups for easier permission management
63 - Have built in users groups for easier permission management
56 - Users can fork other users repo. RhodeCode have also compare view to see
64 - Users can fork other users repo. RhodeCode have also compare view to see
57 combined changeset for all changeset made within single push.
65 combined changeset for all changeset made within single push.
58 - Mako templates let's you customize the look and feel of the application.
66 - Mako templates let's you customize the look and feel of the application.
59 - Beautiful diffs, annotations and source code browsing all colored by pygments. Raw
67 - Beautiful diffs, annotations and source code browsing all colored by pygments.
60 diffs are made in git-diff format, including git_ binary-patches
68 Raw diffs are made in git-diff format, including git_ binary-patches
61 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
69 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
62 - Admin interface with user/permission management. Admin activity journal, logs
70 - Admin interface with user/permission management. Admin activity journal, logs
63 pulls, pushes, forks, registrations and other actions made by all users.
71 pulls, pushes, forks, registrations and other actions made by all users.
64 - Server side forks. It is possible to fork a project and modify it freely without
72 - Server side forks. It is possible to fork a project and modify it freely
65 breaking the main repository. You can even write Your own hooks and install
73 without breaking the main repository. You can even write Your own hooks
66 them
74 and install them
67 - Full text search powered by Whoosh on the source files, and file names.
75 - Full text search powered by Whoosh on the source files, and file names.
68 Build in indexing daemons, with optional incremental index build
76 Build in indexing daemons, with optional incremental index build
69 (no external search servers required all in one application)
77 (no external search servers required all in one application)
70 - Setup project descriptions and info inside built in db for easy, non
78 - Setup project descriptions and info inside built in db for easy, non
71 file-system operations
79 file-system operations
72 - Intelligent cache with invalidation after push or project change, provides high
80 - Intelligent cache with invalidation after push or project change, provides
73 performance and always up to date data.
81 high performance and always up to date data.
74 - Rss / atom feeds, gravatar support, download sources as zip/tar/gz
82 - Rss / atom feeds, gravatar support, download sources as zip/tar/gz
75 - Async tasks for speed and performance using celery_ (works without them too)
83 - Async tasks for speed and performance using celery_ (works without them too)
76 - Backup scripts can do backup of whole app and send it over scp to desired
84 - Backup scripts can do backup of whole app and send it over scp to desired
77 location
85 location
78 - Based on pylons / sqlalchemy / sqlite / whoosh / vcs
86 - Based on pylons / sqlalchemy / sqlite / whoosh / vcs
79
87
80
88
81 .. include:: ./docs/screenshots.rst
89 .. include:: ./docs/screenshots.rst
82
90
83
91
84 Incoming / Plans
92 Incoming / Plans
85 ----------------
93 ----------------
86
94
87 - Project grouping
95 - Project grouping
88 - Server side tagging
96 - Server side tagging
89 - Server side code edit
97 - Server side code edit
90 - Finer granular permissions (per branch or subrepo)
98 - Finer granular permissions (per branch or subrepo)
91 - SSH based authentication with server side key management
99 - SSH based authentication with server side key management
92 - Code review (probably based on hg-review)
100 - Code review (probably based on hg-review)
93 - Full git_ support, with push/pull server (currently in beta tests)
101 - Full git_ support, with push/pull server (currently in beta tests)
94 - Redmine integration
102 - Redmine integration
95 - Commit based built in wiki system
103 - Commit based built in wiki system
96 - More statistics and graph (global annotation + some more statistics)
104 - More statistics and graph (global annotation + some more statistics)
97 - Other advancements as development continues (or you can of course make additions and or requests)
105 - Other advancements as development continues (or you can of course make
106 additions and or requests)
98
107
99 License
108 License
100 -------
109 -------
101
110
102 ``RhodeCode`` is released under the GPL_ license.
111 ``RhodeCode`` is released under the GPL_ license.
103
112
104
113
105 Mailing group Q&A
114 Mailing group Q&A
106 -----------------
115 -----------------
107
116
108 Join the `Google group <http://groups.google.com/group/rhodecode>`_
117 Join the `Google group <http://groups.google.com/group/rhodecode>`_
109
118
110 Open an issue at `issue tracker <http://bitbucket.org/marcinkuzminski/rhodecode/issues>`_
119 Open an issue at `issue tracker <http://bitbucket.org/marcinkuzminski/rhodecode/issues>`_
111
120
112 Join #rhodecode on FreeNode (irc.freenode.net)
121 Join #rhodecode on FreeNode (irc.freenode.net)
113 or use http://webchat.freenode.net/?channels=rhodecode for web access to irc.
122 or use http://webchat.freenode.net/?channels=rhodecode for web access to irc.
114
123
115 Online documentation
124 Online documentation
116 --------------------
125 --------------------
117
126
118 Online documentation for the current version of RhodeCode is available at
127 Online documentation for the current version of RhodeCode is available at
119 http://packages.python.org/RhodeCode/.
128 http://packages.python.org/RhodeCode/.
120 You may also build the documentation for yourself - go into ``docs/`` and run::
129 You may also build the documentation for yourself - go into ``docs/`` and run::
121
130
122 make html
131 make html
123
132
124 (You need to have sphinx installed to build the documentation. If you don't
133 (You need to have sphinx_ installed to build the documentation. If you don't
125 have sphinx installed you can install it via the command: ``easy_install sphinx``)
134 have sphinx_ installed you can install it via the command:
135 ``easy_install sphinx``)
126
136
127 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
137 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
128 .. _python: http://www.python.org/
138 .. _python: http://www.python.org/
129 .. _django: http://www.djangoproject.com/
139 .. _sphinx: http://sphinx.pocoo.org/
130 .. _mercurial: http://mercurial.selenic.com/
140 .. _mercurial: http://mercurial.selenic.com/
131 .. _bitbucket: http://bitbucket.org/
141 .. _bitbucket: http://bitbucket.org/
142 .. _github: http://github.com/
132 .. _subversion: http://subversion.tigris.org/
143 .. _subversion: http://subversion.tigris.org/
133 .. _git: http://git-scm.com/
144 .. _git: http://git-scm.com/
134 .. _celery: http://celeryproject.org/
145 .. _celery: http://celeryproject.org/
135 .. _Sphinx: http://sphinx.pocoo.org/
146 .. _Sphinx: http://sphinx.pocoo.org/
136 .. _GPL: http://www.gnu.org/licenses/gpl.html
147 .. _GPL: http://www.gnu.org/licenses/gpl.html
137 .. _vcs: http://pypi.python.org/pypi/vcs No newline at end of file
148 .. _vcs: http://pypi.python.org/pypi/vcs
@@ -1,116 +1,116 b''
1 import sys
1 import sys
2 from rhodecode import get_version
2 from rhodecode import get_version
3 from rhodecode import __platform__
3 from rhodecode import __platform__
4
4
5 py_version = sys.version_info
5 py_version = sys.version_info
6
6
7 if py_version < (2, 5):
7 if py_version < (2, 5):
8 raise Exception('RhodeCode requires python 2.5 or later')
8 raise Exception('RhodeCode requires python 2.5 or later')
9
9
10 requirements = [
10 requirements = [
11 "Pylons==1.0.0",
11 "Pylons==1.0.0",
12 "WebHelpers>=1.2",
12 "WebHelpers>=1.2",
13 "SQLAlchemy>=0.6.6",
13 "SQLAlchemy>=0.6.6",
14 "Mako>=0.4.0",
14 "Mako>=0.4.0",
15 "vcs>=0.2.0",
15 "vcs>=0.2.0",
16 "pygments>=1.4",
16 "pygments>=1.4",
17 "mercurial>=1.7.5",
17 "mercurial>=1.7.5",
18 "whoosh>=1.3.4",
18 "whoosh>=1.3.4",
19 "celery>=2.2.4",
19 "celery>=2.2.4",
20 "babel",
20 "babel",
21 ]
21 ]
22
22
23 classifiers = ['Development Status :: 4 - Beta',
23 classifiers = ['Development Status :: 4 - Beta',
24 'Environment :: Web Environment',
24 'Environment :: Web Environment',
25 'Framework :: Pylons',
25 'Framework :: Pylons',
26 'Intended Audience :: Developers',
26 'Intended Audience :: Developers',
27 'License :: OSI Approved :: BSD License',
27 'License :: OSI Approved :: BSD License',
28 'Operating System :: OS Independent',
28 'Operating System :: OS Independent',
29 'Programming Language :: Python', ]
29 'Programming Language :: Python', ]
30
30
31 if py_version < (2, 6):
31 if py_version < (2, 6):
32 requirements.append("simplejson")
32 requirements.append("simplejson")
33 requirements.append("pysqlite")
33 requirements.append("pysqlite")
34
34
35 if __platform__ in ('Linux', 'Darwin'):
35 if __platform__ in ('Linux', 'Darwin'):
36 requirements.append("py-bcrypt")
36 requirements.append("py-bcrypt")
37
37
38
38
39 #additional files from project that goes somewhere in the filesystem
39 #additional files from project that goes somewhere in the filesystem
40 #relative to sys.prefix
40 #relative to sys.prefix
41 data_files = []
41 data_files = []
42
42
43 #additional files that goes into package itself
43 #additional files that goes into package itself
44 package_data = {'rhodecode': ['i18n/*/LC_MESSAGES/*.mo', ], }
44 package_data = {'rhodecode': ['i18n/*/LC_MESSAGES/*.mo', ], }
45
45
46 description = ('Mercurial repository browser/management with '
46 description = ('Mercurial repository browser/management with '
47 'build in push/pull server and full text search')
47 'build in push/pull server and full text search')
48 keywords = ' '.join (['rhodecode', 'rhodiumcode', 'mercurial', 'git',
48 keywords = ' '.join (['rhodecode', 'rhodiumcode', 'mercurial', 'git',
49 'repository management', 'hgweb replacement'
49 'repository management', 'hgweb replacement'
50 'hgwebdir', 'gitweb replacement', 'serving hgweb',
50 'hgwebdir', 'gitweb replacement', 'serving hgweb',
51 ])
51 ])
52 #long description
52 #long description
53 try:
53 try:
54 readme_file = 'README.rst'
54 readme_file = 'README.rst'
55 changelog_file = 'docs/changelog.rst'
55 changelog_file = 'docs/changelog.rst'
56 long_description = open(readme_file).read() + '\n\n' + \
56 long_description = open(readme_file).read() + '\n\n' + \
57 open(changelog_file).read()
57 open(changelog_file).read()
58
58
59 except IOError, err:
59 except IOError, err:
60 sys.stderr.write("[WARNING] Cannot find file specified as "
60 sys.stderr.write("[WARNING] Cannot find file specified as "
61 "long_description (%s)\n or changelog (%s) skipping that file" \
61 "long_description (%s)\n or changelog (%s) skipping that file" \
62 % (readme_file, changelog_file))
62 % (readme_file, changelog_file))
63 long_description = description
63 long_description = description
64
64
65
65
66 try:
66 try:
67 from setuptools import setup, find_packages
67 from setuptools import setup, find_packages
68 except ImportError:
68 except ImportError:
69 from ez_setup import use_setuptools
69 from ez_setup import use_setuptools
70 use_setuptools()
70 use_setuptools()
71 from setuptools import setup, find_packages
71 from setuptools import setup, find_packages
72 #packages
72 #packages
73 packages = find_packages(exclude=['ez_setup'])
73 packages = find_packages(exclude=['ez_setup'])
74
74
75 setup(
75 setup(
76 name='RhodeCode',
76 name='RhodeCode',
77 version=get_version(),
77 version=get_version(),
78 description=description,
78 description=description,
79 long_description=long_description,
79 long_description=long_description,
80 keywords=keywords,
80 keywords=keywords,
81 license='BSD',
81 license='GPLv3',
82 author='Marcin Kuzminski',
82 author='Marcin Kuzminski',
83 author_email='marcin@python-works.com',
83 author_email='marcin@python-works.com',
84 url='http://rhodecode.org',
84 url='http://rhodecode.org',
85 install_requires=requirements,
85 install_requires=requirements,
86 classifiers=classifiers,
86 classifiers=classifiers,
87 setup_requires=["PasteScript>=1.6.3"],
87 setup_requires=["PasteScript>=1.6.3"],
88 data_files=data_files,
88 data_files=data_files,
89 packages=packages,
89 packages=packages,
90 include_package_data=True,
90 include_package_data=True,
91 test_suite='nose.collector',
91 test_suite='nose.collector',
92 package_data=package_data,
92 package_data=package_data,
93 message_extractors={'rhodecode': [
93 message_extractors={'rhodecode': [
94 ('**.py', 'python', None),
94 ('**.py', 'python', None),
95 ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}),
95 ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}),
96 ('templates/**.html', 'mako', {'input_encoding': 'utf-8'}),
96 ('templates/**.html', 'mako', {'input_encoding': 'utf-8'}),
97 ('public/**', 'ignore', None)]},
97 ('public/**', 'ignore', None)]},
98 zip_safe=False,
98 zip_safe=False,
99 paster_plugins=['PasteScript', 'Pylons'],
99 paster_plugins=['PasteScript', 'Pylons'],
100 entry_points="""
100 entry_points="""
101 [paste.app_factory]
101 [paste.app_factory]
102 main = rhodecode.config.middleware:make_app
102 main = rhodecode.config.middleware:make_app
103
103
104 [paste.app_install]
104 [paste.app_install]
105 main = pylons.util:PylonsInstaller
105 main = pylons.util:PylonsInstaller
106
106
107 [paste.global_paster_command]
107 [paste.global_paster_command]
108 make-index = rhodecode.lib.indexers:MakeIndex
108 make-index = rhodecode.lib.indexers:MakeIndex
109 upgrade-db = rhodecode.lib.dbmigrate:UpgradeDb
109 upgrade-db = rhodecode.lib.dbmigrate:UpgradeDb
110 celeryd=rhodecode.lib.celerypylons.commands:CeleryDaemonCommand
110 celeryd=rhodecode.lib.celerypylons.commands:CeleryDaemonCommand
111 celerybeat=rhodecode.lib.celerypylons.commands:CeleryBeatCommand
111 celerybeat=rhodecode.lib.celerypylons.commands:CeleryBeatCommand
112 camqadm=rhodecode.lib.celerypylons.commands:CAMQPAdminCommand
112 camqadm=rhodecode.lib.celerypylons.commands:CAMQPAdminCommand
113 celeryev=rhodecode.lib.celerypylons.commands:CeleryEventCommand
113 celeryev=rhodecode.lib.celerypylons.commands:CeleryEventCommand
114
114
115 """,
115 """,
116 )
116 )
General Comments 0
You need to be logged in to leave comments. Login now