Projects/Devel/Codeville

Codeville 0.1.118

Codeville - a distributed version control system.
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.

Key features

  • 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.

Installation

Aside from downloading the source, and performing a make, and install.

Using the FreeBSD ports system:
cd /usr/ports/devel/codeville make install clean
Using the FreeBSD pkg system:
pkg install devel/codeville

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

Version 0.1.18 released!:
New in this release:
(Finally) adds Python 3 support. Yep, it finally works with Current supported version of Python (tested/built on 3.7.9). While it still maintains support for Python 2. There are no plans to continue support for Python 2, and it's support will likely be removed in the next version.
Version 0.1.17 released!:
New in this release:
Changes in this release are largely preliminary changes required to make version 0.1.18 possible. Meaning; they just make my job easier. You, as the user, will notice very few of these changes in 0.1.17. :-)
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
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.