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.
Plastic SCM is a full-featured version control system especially designed to handle parallel development. Branch and merge management, visualization, security, and workspace management are some of its main strengths. Plastic uses standard database backends for storage, Firebird being the preferred one.
Team Foundation for Mono is an implementation of the Team Foundation libraries and related client programs for the .NET platform. Team Foundation is a collection of collaborative technologies that support a team effort to deliver a product. This project currently focuses on the SCM related libraries and tools. It includes a fairly functional version of the TF client used to access the SCM capabilities of Team Foundation servers. In some respects, its usability exceeds that of the standard TF tool. It also includes some subcommands from the TF Power Tool, and leverages the Gnome Keyring when available.