CVS, GIT, Mercurial und andere bekannte Versionsverwaltungssysteme können Verzeichnisse nicht versionieren. Man kann daher keine leeren Verzeichnisse hinzufügen. Ein Workaround für das Problem besteht darin, Platzhalter-Dateien zu verwenden, die in den Verzeichnissen abgelegt werden. Diese können eingecheckt werden und stellen sicher, dass beim Auschecken der Verzeichnisbaum vollständig rekonstruiert wird. Das Problem mit den Platzhalter-Dateien ist, dass man sie erzeugen muss und sie löschen muss, wenn sie nicht mehr benötigt werden. Mit großen Quellverzeichnissen wird die Verwaltung dieser Platzhalter umständlich und fehleranfällig. MarkEmptyDirs kann die Erzeugung und Löschung von Platzhalterdateien automatisch verwalten. Es erzeugt Platzhalterdateien in allen leeren Verzeichnissen ohne Unterverzeichnisse. Wenn später neue Dateien oder Unterverzeichnisse angelegt werden, sind die Platzhalterdateien nicht mehr nötig und werden automatisch gelöscht. (non)