Monday, February 21, 2011

Duality SVN - First Public Release

After some "production delays" delaying the completion of initial targets, today I can finally proudly present to the world the first official release of Duality SVN (

For the uninitiated, Duality SVN is a Subversion (SVN) frontend written in Python and PyQt for the SVN commandline tools. One of its goals is to provide a UI streamlined for optimal service of daily client-side version control workflows, making it easier and faster to concentrate on your core activites instead, be it developing code, writing documentation, or working on art projects.

The other (and original founding goal) was to provide a branch management workflow non-reliant on SVN's slow and fickle "merge" tools, which were a significant barrier to successful branch management for many users.

Features provided by Duality SVN in the current release:
  • Streamlined GUI and hotkey access for daily development/version-control work - Update, Commit, Add/Delete, Revert, Mark Conflicts as Resolved
  • "Status list" with coloured status indicators and ability to selectively operate on chosen files only
  • Versioned files can be locally ignored (i.e. not shown in status reports or for commits) as "local modifications"
  • Commit log editor with ability to load and save commit logs from user-specified files, as well as functional word-wrapping facilities
  • Prior to committing, any files with invalid statuses have these issues automatically rectified
  • Checkout sources from repository and set up new project for these
  • Create new project for existing checkouts
Functionality not yet implemented or completed, but planned for future releases:
  • Branching support - The creation of new branches is not yet complete in this initial release and hasn't been tested yet, but may be somewhat functional at this stage already. Use with caution.
    • This was originally earmarked as a launch-day feature, although this will now be completed in a future release (hopefully not too far away).
  • Viewing change logs 
  • Nice coloured display of diffs
  • Creating Patches
  • Apply Patches - This is somewhat complicated, and may require the inclusion of foreign components (or yet another homebrew solution!). We'll see...
Despite this list of missing features, I've already been using this tool for my everyday Blender development and also Duality SVN development work for the past 2-3 months now, so I'm pretty confident that in its current form it should also be useful to someone out there.

So, without further ado, some links!
Install Instructions:

This is the first time I've managed a full software release cycle myself, so apologies in advance if there are hiccups.


1 comment:

  1. "This project is 100% proudly non-PEP8 compliant (...)" lol

    Great work. I would actually love to see some screens :)