Git, Shopware e cartelle vuote

Il sistema di controllo delle versioni dei file Git è snello, veloce e portatile. Git gestisce sempre gli oggetti, ovvero i file. Le cartelle vengono create solo se ci sono file al loro interno, altrimenti Git non le registrerà nemmeno. Ciò ha spiacevoli effetti collaterali in alcuni progetti. Ad esempio, il sistema del negozio Shopware si basa sulla stretta aderenza alla struttura delle cartelle per funzionare.


Se manca anche una cartella (ad esempio nella cartella "cache" o in "modelli"), Shopware riconosce il servizio. Ad esempio, viene emesso il file di registro più recente nella cartella "logs":

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

Per risolvere il problema è sufficiente posizionare il seguente file php nella cartella principale del repository, in cui sono ancora presenti le cartelle vuote, ed eseguirlo:

4287bb0575ce0f5ea732

Il file passa attraverso l'intera struttura delle cartelle in modo ricorsivo e posiziona il file vuoto "cartella vuota" in cartelle vuote. Dopo aver eseguito il push della modifica e averla inserita nel repository problematico, la struttura delle cartelle è ora completa e Shopware funziona senza problemi.

Indietro