Vous êtes confus quant au rôle d'un système de contrôle de version. Il n'est pas et n'a jamais été conçu pour être un système de sauvegarde pour un site Web en cours d'exécution. Il fait un très bon travail de gestion de contenu statique de sorte qu'il soit entré en production de manière contrôlée. Avec une utilisation appropriée du balisage et des extractions automatisées, même les sites à changement rapide peuvent être conservés dans un système de contrôle de version.
Un système de contrôle de version sera en mesure de vous dire comment vous êtes passé du site le mois dernier à ce à quoi il ressemble aujourd'hui (au moins pour les composants sous contrôle de source). Il doit inclure tout ce dont vous avez besoin pour reconstruire le site Web (à l'exception du contenu dynamique). Comme d'autres l'ont noté, toute modification des autorisations et de la propriété doit être scriptée et ce script inclus dans le contrôle de version.
Les autorisations d'accès aux sites Web sont généralement assez simples. (Fondamentalement, vous devez vous assurer que le serveur Web peut lire tout le contenu et en écrire très peu.) À l'exception de la propriété du répertoire des quelques répertoires qui doivent être accessibles en écriture par la subversion du serveur Web, et éventuellement git, peut certainement gérer les autorisations. Les répertoires accessibles en écriture par le serveur Web contiennent généralement du contenu dynamique (créé et mis à jour à partir du site Web), qui est géré séparément de la source des sites Web.
Si on me demandait de travailler avec un site Web avec des autorisations et des listes de contrôle d'accès compliquées sur votre site Web, j'aurais de sérieuses préoccupations concernant le processus utilisé pour gérer le site Web. La mise en œuvre d'un système de contrôle de version et le déplacement des listes de contrôle d'accès vers celui-ci serait l'une des solutions que j'envisagerais sérieusement.
Le contenu dynamique, tel que les entrées de blog ou les commentaires, est généralement contenu dans une base de données ou une autre banque de données plutôt que le contrôle de version utilisé pour créer le site. Le magasin de données peut être organisé pour fournir un contrôle de version de son contenu (tout comme ce logiciel). De nombreux wikis utilisent un système de contrôle de version pour suivre les révisions.
ÉDITER:
Le correctif que j'utilise est (a) Aucun contrôle de version, (b) Le site de production est le site maître, (c) Archive chaque fois que quelque chose change, (d) Le script d'archive supprime les fichiers indésirables comme ACL, et (e) le script d'installation corrige d'autres autorisations de fichiers indésirables.
Ces problèmes peuvent être traités en important le site dans un système de contrôle de version et en modifiant votre processus afin que le site maître soit mis à jour via ce système. (a), (b) et (c) sont gérés directement par le contrôle de version. Vous voudrez peut-être baliser les versions pour que (c) fonctionne mieux. (d) n'est généralement pas un problème si vous n'avez que le système de déploiement qui modifie votre site. Je n'ai jamais eu besoin d'ACL sur le contenu du site.
(e) ne devrait être exécuté que lors de la création initiale et des modifications majeures. Il peut également inclure le script qui met à jour le site à partir du contrôle de version et s'exécute fréquemment. Ces scripts ont tendance à être assez simples lorsque vous gardez votre site dans un système de contrôle d'aversion.
Mais pourquoi personne n'a-t-il construit un système général pour ce faire?
Parce que ce n'est pas nécessaire si vous utilisez un système de contrôle de version.
Un système de contrôle de version POURRAIT suivre tout cela, mais aucun ne le fait.
CVS et Subversion suivent ce que vous devez suivre si vous les utilisez. Ils ne suivront pas ce que vous devez suivre car vous n'utilisez pas de système de contrôle de version, et ils ne devraient pas non plus le faire. Ils suivent ce que vous devez suivre lorsque vous utilisez un système de contrôle de version.
J'ai travaillé avec plusieurs sites qui ont géré leur contenu à l'aide du contrôle de version. Tous avaient des exigences différentes pour les sites intermédiaires, la fréquence de déploiement et l'exhaustivité des mises à jour. Une fois que les sites étaient sous contrôle de version, le reste des exigences était relativement facile à satisfaire. La documentation de CVS et de Subversion propose des méthodes de mise à jour possibles.
Vous devrez peut-être des listes de contrôle d'accès pour limiter l'accès à des zones particulières du contenu contrôlé par la version. Cependant, j'ai tendance à travailler sur une base de confiance. Le contrôle de version permet de voir facilement qui a fait quoi et quand. Si vous ne reformatez pas les fichiers, il est facile d'obtenir un historique annoté d'un fichier indiquant qui a ajouté quelles lignes quand.