Le système de contrôle de version de fichier Git est léger, rapide et portable. Git gère toujours les objets, à savoir les fichiers. Les dossiers ne sont créés que s'ils contiennent des fichiers, sinon Git ne les enregistrera même pas. Cela a des effets secondaires désagréables dans certains projets. Par exemple, le système de boutique Shopware repose sur le strict respect de la structure des dossiers pour fonctionner.
S'il manque même un dossier (par exemple dans le dossier "cache" ou dans "templates"), Shopware reconnaît le service. Par exemple, le fichier journal le plus récent dans le dossier "logs" est sorti:
Fatal error: Uncaught exception 'InvalidArgumentException' with message 'The directory "C:\...\cache\doctrine\filecache\" does not exist'
Pour résoudre le problème, placez simplement le fichier php suivant dans le dossier racine du référentiel, dans lequel les dossiers vides sont toujours présents, et exécutez-le:
4287bb0575ce0f5ea732
Le fichier parcourt récursivement toute l'arborescence des dossiers et crée le fichier vide « empty-folder » dans les dossiers vides . Après avoir appliqué la modification et l'avoir récupérée du dépôt problématique, l'arborescence des dossiers est désormais complète et Shopware fonctionne correctement.