Git, Shopware en lege mappen

Het versiebeheersysteem van Git-bestanden is slank, snel en draagbaar. Git behandelt altijd objecten, namelijk bestanden. Mappen worden alleen aangemaakt als er bestanden in staan, anders zal Git ze niet eens opnemen. Dit heeft bij sommige projecten vervelende bijwerkingen. Het Shopware-winkelsysteem is bijvoorbeeld afhankelijk van strikte naleving van de mappenstructuur om te kunnen functioneren.


Als er zelfs maar één map ontbreekt (bijvoorbeeld in de map "cache" of in "sjablonen"), erkent Shopware de service. Het meest recente logboekbestand in de map "logs" wordt bijvoorbeeld uitgevoerd:

Fatal error: Uncaught exception 'InvalidArgumentException' with message 'The directory "C:\...\cache\doctrine\filecache\" does not exist'

Om het probleem op te lossen, plaatst u eenvoudig het volgende php-bestand in de hoofdmap van de repository waarin de lege mappen nog steeds aanwezig zijn en voert u het uit:

4287bb0575ce0f5ea732

Het bestand doorloopt recursief de volledige mapstructuur en maakt het lege bestand "empty-folder" aan in de map " empty folders ". Na het pushen van de wijziging en het ophalen ervan uit de problematische repository is de mapstructuur nu compleet en werkt Shopware probleemloos.

Terug