cvs-fast-export analyzes a collection of RCS files in a CVS repository (or outside of one) and, when possible, emits an equivalent history in the form of a fast-import stream. Not all possible histories can be rendered this way, and the program tries to emit useful warnings when it can't. The program can also produce a visualization of the resulting commit DAG in the DOT format handled by the graphviz suite.
owl2vcs is a set of tools designed to facilitate version control of OWL 2 ontologies using version control systems. It contains a commandline diff tool for OWL 2 ontologies integrated with Git and Mercurial. It detects axioms additions and removals, imports' additions and removals, ontology annotations' additions and removals, prefix additions, removals, modifications, and renames, ontology IRI and version IRI changes, and ontology format changes. It supports RDF/XML, OWL/XML, OWL Functional Syntax, Manchester OWL Syntax, and Turtle. It provides a changeset serializer and parser, two formats of changes, compact (like OWL Functional Syntax) and indented (the same, but more readable, using indents instead of parentheses), and four formats of IRIs: Simple, QName, Full, and Label.
Submin provides a Web-based admin interface to your Subversion repositories. Its features include user/group management, path permission management, and the ability to create svn repositories. It uses htpasswd/svn authz for authentication, so it can use the same login information as apache2/svn (and trac). It works with FF3, IE7, Safari 3, Chrome, and Opera 9.
FishEye opens your source code repository to help you understand your code and keep tabs on the people who write it. It lets you view user activity, track code changes, and search and navigate through your repository from any Web browser. Nearly everything in your repository has its own URL, down to every single line of code for every revision. Files, branches, repositories, projects, and even people have their own activity stream. FishEye provides easy navigation, powerful search, historical reporting, configurable file annotation and diff views, changeset analysis, RSS feeds, and integration with JIRA, Crucible, Bamboo, Eclipse, and IntelliJ IDEA. FishEye works with Subversion, CVS, Perforce, Git or Mercurial.
pepper is a commandline tool for retrieving statistics and generating reports from source code repositories. It ships with several graphical and textual reports, and is easily extensible using the Lua scripting language. It includes support for multiple version control systems, including Git and Subversion.
gitolite is an access control layer on top of git. It allows you to setup git hosting on a central server, and have multiple "virtual" users (i.e., not "Unix" users) access multiple git repositories, with fine grained access control (read control at the repo level granularity, write control at branch/tag/file/dir level). It has several other features, comprehensive documentation, does not require root permissions, and does not depend on anything except git, Perl 5.8 or later, and any POSIX shell.
Meld is a visual diff and merge tool. It integrates with most version control systems. The diff viewer lets you edit files in place (diffs update dynamically), and a middle column shows detailed changes and allows merges. The margins show location of changes for easy browsing, and it also features a tabbed interface that allows you to open many diffs at once.
repos-tools is a set of command-line utilities to make work on your code repositories faster and easier. It lets you push, pull, build, and do other things on your repositories all at once. The supported (D)VCSes are Git, Subersion, Bazaar, and Mercurial. For GitHub users, forking, following, watching, and dealing with issues can be done from the shell.
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.