Git and Mercurial both suffer from this "problem". Because manifests/trees must have contents (file hashes) to exist, you can't track an empty folder.
I suppose git's tree objects could point to the empty tree to record an empty folder, but most of the git code is comparing file blobs not trees.