'Unlink all files in dest that exist in src.
Unlinks directories in dest if they are empty.'

def unmerge(self, dest_root, **kwargs):

    kwargs['order'] = 'post'
    for (src, dest) in traverse_tree(self._root, dest_root, **kwargs):
        if os.path.isdir(src):
            if (not os.path.exists(dest)):
                continue
            if (not os.path.isdir(dest)):
                raise ValueError(('File    blocks    directory:    %s' % dest))
            if (not os.listdir(dest)):
                shutil.rmtree(dest, ignore_errors=True)
            marker = os.path.join(dest, empty_file_name)
            if os.path.exists(marker):
                os.remove(marker)
        elif os.path.exists(dest):
            if (not os.path.islink(dest)):
                raise ValueError(('%s    is    not    a    link    tree!' % dest))
            os.remove(dest)
