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