Codeville
Codeville is a distributed version control system. It began with a novel idea
for a merge algorithm and has grown from there. It is designed to be easy to
use and scale from small personal projects to very large distributed ones. If
you'd like to know why there is a need for new merge algorithms, consider what
the lead monotone developer
has to say
Current Status
- Simple and robust merge algorithm with proven effectiveness
- Well stressed branching and merging with no restrictions
- Simple user interface
- Almost trivial to use for personal projects without running a server
- Keeps client/server model for those familiar with non-distributed systems
- Transparently extends the client/server model to the distributed case, repositories are all referred to by URL
- Simpler branching and merging than CVS, it "just works"
- Basic set of commands with rich functionality
- File name wildcard '...' can be used instead of futzing with the unix 'find' command
- Good performance, even on very large projects
- Strong authentication
- SRP authentication means you will not expose your password to remote servers by accident
- HMAC codes to protect against connection hijacking
- agent so you don't have to type your password all the time
- Disconnected operation
- History browsing and diffing
- Changeset creation for later commit
- Powerful diffing and history browsing commands
- Immutable and verifiable history
- Extensive use of hashes including all of the following
- Internal identifiers for files and directories
- File deltas
- Change numbers
- File and directory renaming which correctly handles all (and there are plenty) corner cases and conflicts
- Cross platform, runs on all major platforms
- Released as open source
That being said, there are still a few things missing. See the
todo list for things which are missing and ways
you can contribute.
CONTACT
There is a mailing list at devel at codeville dot org. You can also try the irc channel #codeville on irc.freenode.net.
NEWS
7/13/2007: Version 0.8.0 is out!
New in this release:
- Remember commit message and autofill it on next attempt if commit fails
- fixed: catch requests for non-existent diffs
- fixed: error handling cleanup in networking code
- fixed: Windows-specific networking fixes
- fixed: binary file corruption on Windows with 'construct'
- fixed: glob expansion with 'describe -d'
- fixed: renaming corner case involving directories, renaming and deleting
- fixed: files renamed out of a deleted directory on another branch were marked as a name conflict
- fixed: use case-insensitive regexps for post-commit hooks because the config parser lowercases everything
- fixed: filesystem timestamp precision problems
- fixed: Python 2.5 fixes
These fixes have been collecting for a while. Now you all get to enjoy them too.
The version number has been changed to reflect that the currect code is stable, yet is still missing some features which would be necessary for a 1.0 release
2/27/2006: Version 0.1.16 is out!
New in this release:
- Allow 'edit' to take --id
- fixed: worked around slightly malformed history with respect to edits and deletes
- fixed: merges of edits and deletes should be explicit in changesets
Just a few cleanups, nothing too major.
older news
— Bram and Ross