El sistema de control de versiones de archivos Git es sencillo, rápido y portátil. Git siempre maneja objetos, es decir, archivos. Las carpetas solo se crean si hay archivos en ellas, de lo contrario, Git ni siquiera las grabará. Esto tiene efectos secundarios desagradables en algunos proyectos. Por ejemplo, el sistema de la tienda Shopware se basa en un estricto cumplimiento de la estructura de carpetas para funcionar.
Si incluso falta una carpeta (por ejemplo, en la carpeta "caché" o en "plantillas"), Shopware reconoce el servicio. Por ejemplo, se genera el archivo de registro más reciente de la carpeta "registros":
Fatal error: Uncaught exception 'InvalidArgumentException' with message 'The directory "C:\...\cache\doctrine\filecache\" does not exist'
Para resolver el problema, simplemente coloque el siguiente archivo php en la carpeta raíz del repositorio en el que aún están presentes las carpetas vacías y ejecútelo:
4287bb0575ce0f5ea732
El archivo recorre recursivamente toda la estructura de carpetas y crea el archivo vacío "empty-folder" en las carpetas vacías . Tras enviar el cambio y descargarlo del repositorio problemático, la estructura de carpetas se completa y Shopware funciona sin problemas.