Fast and powerful management tool for Mercurial and GIT with a built in push/pull server, full text search and code-review.
RhodeCode is a fast and powerful management tool for Mercurial and GIT with a built in push/pull server and full text search and code-review. It works on http/https and has a built in permission/authentication system with the ability to authenticate via LDAP or ActiveDirectory. RhodeCode also provides simple API so it’s easy integrable with existing external systems.
RhodeCode is similar in some respects to github or bitbucket, however RhodeCode can be run as standalone hosted application on your own server. It is open source and donation ware and focuses more on providing a customized, self administered interface for Mercurial and GIT repositories. RhodeCode works on *nix systems and Windows it is powered by a vcs library that Lukasz Balcerzak and Marcin Kuzminski created to handle multiple different version control systems.
RhodeCode uses PEP386 versioning
Stable releases of RhodeCode are best installed via:
pip install rhodecode
Detailed instructions and links may be found on the Installation page.
Please visit http://packages.python.org/RhodeCode/installation.html for more details
The default access is anonymous but you can login to an administrative account using the following credentials:
- username: demo
- password: demo12
The latest sources can be obtained from official RhodeCode instance https://secure.rhodecode.org
Issue tracker and sources at bitbucket
Sources at github
- Has its own middleware to handle mercurial protocol requests. Each request can be logged and authenticated.
- Runs on threads unlike hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https and LDAP
- Full permissions (private/read/write/admin) for each repository, additional explicit forking and repository permissions.
- Have built in users groups for easier permission management
- Repository groups let you group repos and manage them easier.
- Users can fork other users repo. RhodeCode have also compare view to see combined changeset for all changeset made within single push.
- Build in commit-api let’s you add, edit and commit files right from RhodeCode interface using simple editor or upload form for binaries.
- Powerfull pull-request driven review system with inline commenting, and changeset statuses, notification system.
- Importing SVN repositories from remote locations into RhodeCode.
- Mako templates let’s you customize the look and feel of the application.
- Beautiful diffs, annotations and source code browsing all colored by pygments. Raw diffs are made in git-diff format, including GIT binary-patches
- Mercurial branch graph and yui-flot powered graphs with zooming and statistics
- Admin interface with user/permission management. Admin activity journal, logs pulls, pushes, forks, registrations and other actions made by all users.
- Server side forks. It is possible to fork a project and modify it freely without breaking the main repository. You can even write Your own hooks and install them
- rst and markdown README support for repositories
- Full text search powered by Whoosh on the source files, and file names. Build in indexing daemons, with optional incremental index build (no external search servers required all in one application)
- Setup project descriptions and info inside built in db for easy, non file-system operations
- Intelligent cache with invalidation after push or project change, provides high performance and always up to date data.
- Rss / atom feeds, gravatar support, download sources as zip/tar/gz
- Optional async tasks for speed and performance using celery
- Backup scripts can do backup of whole app and send it over scp to desired location
- Based on pylons / sqlalchemy / sqlite / whoosh / vcs
Incoming / Plans
- Finer granular permissions per branch, repo group or subrepo
- Pull requests with web based merges
- Per line file history
- Simple issue tracker
- SSH based authentication with server side key management
- Commit based built in wiki system
- More statistics and graph (global annotation + some more statistics)
- Other advancements as development continues (or you can of course make additions and or requests)
RhodeCode is released under the GPLv3 license.
Listed bellow are various support resources that should help.
Please try to read the documentation before posting any issues, especially the troubleshooting section
- Online documentation for the current version of RhodeCode is available at
You may also build the documentation for yourself - go into docs/ and run:
- new codereview system
- email map, allowing users to have multiple email addresses mapped into their accounts
- improved git-hook system. Now all actions for git are logged into journal including pushed revisions, user and IP address
- changed setup-app into setup-rhodecode and added default options to it.
- new git repos are created as bare now by default
- #464 added links to groups in permission box
- #465 mentions autocomplete inside comments boxes
- #469 added –update-only option to whoosh to re-index only given list of repos in index
- rhodecode-api CLI client
- new git http protocol replaced buggy dulwich implementation. Now based on pygrack & gitweb
- Improved RSS/ATOM feeds. Discoverable by browsers using proper headers, and reformated based on user suggestions. Additional rss/atom feeds for user journal
- various i18n improvements
- #478 permissions overview for admin in user edit view
- File view now displays small gravatars off all authors of given file
- Implemented landing revisions. Each repository will get landing_rev attribute that defines ‘default’ revision/branch for generating readme files
- Implemented #509, RhodeCode enforces SSL for push/pulling if requested at earliest possible call.
- Import remote svn repositories to mercurial using hgsubversion.
- Fixed #508 RhodeCode now has a option to explicitly set forking permissions
- RhodeCode can use alternative server for generating avatar icons
- implemented repositories locking. Pull locks, push unlocks. Also can be done via API calls
- #538 form for permissions can handle multiple users at once
- improved translations
- fixes issue #455 Creating an archive generates an exception on Windows
- fixes #448 Download ZIP archive keeps file in /tmp open and results in out of disk space
- fixes issue #454 Search results under Windows include proceeding backslash
- fixed issue #450. Rhodecode no longer will crash when bad revision is present in journal data.
- fix for issue #417, git execution was broken on windows for certain commands.
- fixed #413. Don’t disable .git directory for bare repos on deleting
- fixed issue #459. Changed the way of obtaining logger in reindex task.
- fixed #453 added ID field in whoosh SCHEMA that solves the issue of reindexing modified files
- fixed #481 rhodecode emails are sent without Date header
- fixed #458 wrong count when no repos are present
- fixed issue #492 missing No newline at end of file test at the end of new chunk in html diff
- full text search now works also for commit messages