Changeset - 9985eca2e4d0
[Not reviewed]
beta
0 2 0
Marcin Kuzminski - 15 years ago 2010-11-18 18:05:52
marcin@python-works.com
updated docs and setup.py docs
2 files changed with 8 insertions and 10 deletions:
0 comments (0 inline, 0 general)
docs/index.rst
Show inline comments
 
.. _index:
 

	
 
Welcome to RhodeCode (RhodiumCode) documentation!
 
=================================================
 

	
 
``RhodeCode`` (formerly hg-app) is Pylons based repository management and 
 
serving for mercurial_ and git_. It's similar to github or bitbucket, but 
 
it's suppose to run as standalone app, it's open source and focuses more on 
 
restricted access to repositories. There's no default free access to RhodeCode 
 
You have to create an account in order to use the application. It's powered 
 
by vcs_ library that we created to handle many various version control systems.
 
``RhodeCode`` (formerly hg-app) is Pylons based Mercurial repository 
 
browser/management with build in push/pull server and full text search. It's 
 
similar to github or bitbucket, but it's suppose to run as standalone hosted 
 
application, it's open source and focuses more on restricted access to 
 
repositories. It's powered by vcs_ library that we created to handle many 
 
various version control systems.
 

	
 
RhodeCode uses `Semantic Versioning <http://semver.org/>`_
 

	
 
RhodeCode demo
 
--------------
 

	
 
http://hg.python-works.com
 

	
 
The default access is
 

	
 
- username: demo
 
- password: demo
 

	
 
Source code
 
-----------
 

	
 
Source code is along with issue tracker is available at
 
http://bitbucket.org/marcinkuzminski/rhodecode
 

	
 
Also a source codes can be obtained from demo RhodeCode instance
 
http://hg.python-works.com/rhodecode/summary
 

	
 
Features
 
--------
 

	
 
- Has it's own middleware to handle mercurial_ and git_ protocol request. 
 
  Each request can be logged and authenticated. Runs on threads unlikely to 
 
  hgweb You can make multiple pulls/pushes simultaneous. Supports http/https
 
  both on git_ and mercurial_
 
- Full permissions and authentication per project private/read/write/admin. 
 
  One account for web interface and mercurial_ push/pull/clone.
 
- Mako templates let's you customize look and feel of application.
 
- Beautiful diffs, annotations and source codes all colored by pygments.
 
- Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
 
- Admin interface with user/permission management. User activity journal logs
 
  pulls, pushes, forks,registrations. Possible to disable built in hooks
 
- Server side forks, it's possible to fork a project and hack it free without
 
  breaking the main.   
 
- Full text search on source codes, search on file names. All powered by whoosh
 
  and build in indexing daemons
 
  (no external search servers required all in one application)
 
- Rss / atom feeds, gravatar support, download sources as zip/tarballs  
 
- Async tasks for speed and performance using celery_ (works without them too)  
 
- Backup scripts can do backup of whole app and send it over scp to desired 
 
  location
 
- Setup project descriptions and info inside built in db for easy, non 
 
  file-system operations
 
- Added cache with invalidation on push/repo management for high performance and
 
  always up to date data. 
 
- Based on pylons 1.0 / sqlalchemy 0.6 / sqlite
 

	
 

	
 
.. figure::  images/screenshot1_main_page.png
 
   :align:   left
 

	
 
   Main page of RhodeCode
 

	
 
.. figure::  images/screenshot2_summary_page.png
 
   :align:   left
 

	
 
   Summary page
 

	
 

	
 
Incoming / Plans
 
----------------
 

	
 
- code review (probably based on hg-review)
 
- full git_ support, with push/pull server
 
- project grouping
 
- anonymous access
 
- 
 
- redmine integration
 
- commit based build in wiki system
 
- clone points and cloning from remote repositories into rhodecode 
 
  (git_ and mercurial_)
 
- more statistics and graph (global annotation + some more statistics)
 
- user customized activity dashboards
 
- some cache optimizations
 
- other cools stuff that i can figure out (or You can help me figure out)
 

	
 
License
 
-------
 

	
 
``rhodecode`` is released under GPL_ license.
 

	
 

	
 
Mailing group Q&A
 
-----------------
 

	
 
http://groups.google.com/group/rhodecode
 

	
 

	
 
Documentation
 
-------------
 

	
 
**Installation:**
 

	
 
.. toctree::
 
   :maxdepth: 1
 

	
 
   installation
 
   upgrade
 
   setup
 
   changelog
 

	
 
Other topics
 
------------
 

	
 
* :ref:`genindex`
 
* :ref:`search`
 

	
 
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
 
.. _python: http://www.python.org/
 
.. _django: http://www.djangoproject.com/
 
.. _mercurial: http://mercurial.selenic.com/
 
.. _subversion: http://subversion.tigris.org/
 
.. _git: http://git-scm.com/
 
.. _celery: http://celeryproject.org/
 
.. _Sphinx: http://sphinx.pocoo.org/
 
.. _GPL: http://www.gnu.org/licenses/gpl.html
 
.. _vcs: http://pypi.python.org/pypi/vcs
setup.py
Show inline comments
 
from rhodecode import get_version
 
import sys
 
py_version = sys.version_info
 

	
 
requirements = [
 
        "Pylons>=1.0.0",
 
        "SQLAlchemy>=0.6.5",
 
        "Mako>=0.3.6",
 
        "vcs>=0.1.10",
 
        "pygments>=1.3.0",
 
        "mercurial>=1.6.4",
 
        "whoosh>=1.3.1",
 
        "celery>=2.1.3",
 
        "py-bcrypt",
 
        "babel",
 
    ]
 

	
 
classifiers = ['Development Status :: 4 - Beta',
 
                   'Environment :: Web Environment',
 
                   'Framework :: Pylons',
 
                   'Intended Audience :: Developers',
 
                   'License :: OSI Approved :: BSD License',
 
                   'Operating System :: OS Independent',
 
                   'Programming Language :: Python', ]
 

	
 
if sys.version_info < (2, 6):
 
    requirements.append("simplejson")
 
    requirements.append("pysqlite")
 

	
 
#additional files from project that goes somewhere in the filesystem
 
#relative to sys.prefix
 
data_files = []
 

	
 
#additional files that goes into package itself
 
package_data = {'rhodecode': ['i18n/*/LC_MESSAGES/*.mo', ], }
 

	
 
description = ('Mercurial and Git repository browser/management with '
 
description = ('Mercurial repository browser/management with '
 
               'build in push/pull server and full text search')
 
#long description
 
try:
 
    readme_file = 'README.rst'
 
    changelog_file = 'docs/changelog.rst'
 
    long_description = open(readme_file).read() + '/n/n' + \
 
        open(changelog_file).read()
 

	
 
except IOError, err:
 
    sys.stderr.write("[WARNING] Cannot find file specified as "
 
        "long_description (%s)\n or changelog (%s) skipping that file" \
 
            % (readme_file, changelog_file))
 
    long_description = description
 

	
 

	
 
try:
 
    from setuptools import setup, find_packages
 
except ImportError:
 
    from ez_setup import use_setuptools
 
    use_setuptools()
 
    from setuptools import setup, find_packages
 
#packages
 
packages = find_packages(exclude=['ez_setup'])
 

	
 
setup(
 
    name='RhodeCode',
 
    version=get_version(),
 
    description=description,
 
    long_description=long_description,
 
    keywords='rhodiumcode mercurial web hgwebdir gitweb git replacement serving hgweb rhodecode',
 
    license='BSD',
 
    author='Marcin Kuzminski',
 
    author_email='marcin@python-works.com',
 
    url='http://hg.python-works.com',
 
    install_requires=requirements,
 
    classifiers=classifiers,
 
    setup_requires=["PasteScript>=1.6.3"],
 
    data_files=data_files,
 
    packages=packages,
 
    include_package_data=True,
 
    test_suite='nose.collector',
 
    package_data=package_data,
 
    message_extractors={'rhodecode': [
 
            ('**.py', 'python', None),
 
            ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}),
 
            ('public/**', 'ignore', None)]},
 
    zip_safe=False,
 
    paster_plugins=['PasteScript', 'Pylons'],
0 comments (0 inline, 0 general)