2009-10-13 5 views
2

Mettre à jour une copie sur le serveur de transfert en utilisant svn up et plus tard faire la commande cp pour copier les fichiers de la copie mise à jour vers le serveur prend toujours beaucoup de temps . Pouvez-vous me suggérer un moyen de le faire sans copier les fichiers .svn et gagner du temps? Écrire script bash est mon but pour résoudre ce problème. Puis-je utiliser rsync?Suggérer un bon moyen de mettre à jour le serveur de transfert en utilisant svn

Répondre

2

Je pense que vous demandez comment vous pouvez obtenir des fichiers mis à jour vers un serveur cible à partir de Subversion?!? Si oui ...

Utilisez l'export svn de Subversion.

svn export --force https://urlofsvnhost/repo/product/branches/stable /path/to/www/public 

Ceci exportera le contenu du dossier subversion sans aucun dossier .svn.

+0

Merci pour votre réponse Randy, je suis au courant svn export .. Mais pour être plus précis ce qui est la solution quand nous avons seulement 20 fichiers a changé et reste 500 fichiers n'ont pas changé.Il ya certains fichiers contenant les paramètres pour le serveur de transfert est différent de la copie de travail locale et ceux-ci ne devraient pas être modifiés du tout. –

+0

Je ne sais pas si c'est possible - mais pouvez-vous envisager d'appeler de tels fichiers de propriétés spécifiques à un hôte particulier par votre serveur stagin par un nom différent. Les fichiers contenant les paramètres hosst ne doivent idéalement jamais être contrôlés en version et il vaut mieux les avoir dans un fichier non versionné sur l'hôte (dans votre copie de travail si c'est un espace de travail SVN que vous utilisez) et être référé si nécessaire. Je sais que cela peut ne pas être d'une grande aide - mais au cas où c'est quelque chose que vous pouvez considérer, cela pourrait en valoir la peine. –

0

Nous avons notre configuration de hook post-commit à rsync (avec les exclusions appropriées) à chacun de nos serveurs.

rsync --exclude-from 'excludes_file' -av --del /local/path/ remote:/remote/path 

Le fichier ne comprend pas que nous utilisons a .svn comme modèle.

Vous pouvez également juste

rsync --exclude '.svn' .... 

rsync

Questions connexes