Question

J'ai un site Web sous svn et je souhaite corriger le site Web actif avec ce qui est actuellement dans le référentiel (c.-à-d. en appelant svn update sur le site Web actif), mais je ne veux pas de répertoires .svn dans tous les dossiers de la production. site web.

Existe-t-il un moyen de configurer svn pour que le dossier .svn contenant les informations de version ne se trouve pas dans le même répertoire que les fichiers sous contrôle de version?

Dans git, vous pouvez créer et détacher un arbre de travail et appliquer les mises à jour à un projet de cette manière (selon http://toroid.org/ams/git-website-howto ), je veux fondamentalement pouvoir faire quelque chose de similaire dans svn.

Était-ce utile?

La solution

svn export fonctionne de la même manière qu'un checkout mais sans les répertoires .svn. Cependant, vous ne pouvez pas update avoir une telle structure car ce n'est pas une copie de travail svn.

Vous pouvez également configurer le serveur Web pour interdire l'accès aux <=> répertoires et utiliser uniquement la méthode d'extraction + mise à jour.

Autres conseils

Que diriez-vous de rsync configuré pour ne pas copier " .svn " des répertoires?

rsync --exclude=.svn local_svn_copy webserver:site/

Ceci peut être ré-exécuté pour actualiser la copie du serveur Web.

httpd.conf:

<Directory ~ "\.svn">
    Order allow,deny
    Deny from all
</Directory>

Comme Laalto l’a mentionné, svn export constitue une méthode simple mais peu efficace pour mettre à jour une & "copie de travail &"; lorsqu’il est utilisé à plusieurs reprises:

milen@dev:~$ svn export --non-interactive --force "<URL>" <directory>

Vous pouvez également utiliser git-svn pour créer un miroir git du site Web, puis publier de la manière décrite dans l'article que vous avez lié. Évidemment, ce n'est pas une solution simple cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top