Fossil is a distributed software configuration management/version control system built with reliability and ease of use on mind. It comes with integrated bug tracking and a wiki. It is distributed as a single static binary for easy installation and the ability to run in a chrooted environment. Other highlights include a Web interface, autosync, simple networking, and CGI support.
SmartGit/Hg is a graphical user interface for Git and Mercurial which can work with SVN repositories. It supports cloning from common repository providers (e.g., GitHub, Assembla), assists Git newbies, and also offers the advanced, powerful Git features. It provides several tools to help create clean commits, for example by allowing the user to commit just parts of changes files and reordering and squashing unpushed commits. If you are using GitHub or GitHub Enterprise, SmartGit/Hg can work easily with pull requests (creation, resolving) and commit comments. SmartGit/Hg ships with a built-in SSH client, file comparer, and merge tool which are capable of syntax coloring for many languages.
CVS, GIT, and Mercurial as well as other well-known version control systems cannot version directories. In other words, you cannot add empty directories. A "workaround" for this issue is to use placeholder files that are placed into empty directories. These placeholder files can then be committed into the repository and will make sure that, upon checkout, the directory tree is entirely reconstructed. The problem with using placeholder files is that you need to create them, and need to delete them if they are not necessary anymore (because sub-directories or real files were added). With big source trees, managing these placeholder files can be cumbersome and error prone. MarkEmptyDirs can manage the creation/deletion of such placeholder files automatically. It creates placeholder files in all empty "leaf" directories. If later on new files or directories are put into such directories, the placeholder files are not necessary anymore, and are removed automatically.
CodingTeam is a software forge that is lightweight and extensible. It provides a lot of collaborative tools. With this software forge, projects can benefit from basic features (such as screenshots, downloads, uploads, and news), communication features (such as chatrooms, forums, the OpenForge API, and Jabber/XMPP integration), and development features (such as a VCS code browser, a bug tracker, SVG statistics, timeline, and roadmap). Also provided are community tools (project browsing, tag clouds, notepad, and user profiles).
0release is a program to generate source and binary releases automatically. With minimal configuration, 0release will generate a source tarball release candidate, build it to create a binary archive, upload them to your Web server, check the uploads, and tag the release in GIT and update the version number. It can run unit-tests and custom actions, such as building documentation, etc. For Zero Install users, it can also upload a signed XML metadata file about the release, allowing these users to upgrade automatically. Releases are signed with your GPG key.
Monotone::AutomateStdio is a Perl library module for accessing Monotone's automate stdio interface. Monotone is a distributed, change-set based SCM system. It has a mode where commands can be sent to it via STDIN and output read from it via STDOUT. Monontone::AutomateStdio makes use of this facility to provide the Perl programmer with a programmatic interface to Monotone.
Monotone browser (mtn-browse) is an application for browsing Monotone VCS databases without the need of a workspace. The interface allows one to easily select a revision from within a branch, find a revision using complex queries, navigate the contents of a revision using a built-in file manager, display file contents (either using the internal viewer or an external helper application), graph revision histories, compare the changes between different revisions or versions of a file (either using the internal difference viewer or an external application), find files within a revision based on detailed search criteria, display file annotations and easily refer back to the corresponding change documentation, and save files to disk.
commit-patch allows the user to control exactly what gets committed to a version control system by letting the user supply a patch to be committed rather than using the files in the current working directory. This allows for more finely grained commits. It supports Darcs, Git, Mercurial, Bazaar, Subversion, and CVS.
The 64 Studio Platform Development Kit (PDK) is a version control system for GNU/Linux distributions, allowing the creation and management of many different projects, based on Debian and Ubuntu sources. PDK is written in Python, and the source code is well commented and contains documented examples.