web-dev-qa-db-fra.com

Forcer la mise à jour / extraction de SVN pour écraser les fichiers locaux

je prévois d'exécuter ( sur mon serveur! )

mise à jour svn

pour mettre à jour mon site LIVE avec des mises à jour. Cependant, je m'inquiète des conflits "C" qui empêcheront les scripts de mon site de fonctionner. Comment puis-je forcer le processus de paiement/mise à jour pour écraser tous les fichiers locaux ( sur mon serveur! )?

Je sais qu'une solution serait de le faire sur un répertoire séparé - autre chose de plus efficace?

j'ai regardé Forcer une commande de vérification SVN pour écraser les fichiers actuels

Je n'ai pas l'option --force

15
siliconpi

Le fait de cliquer sur le répertoire et de le restaurer sur la base, puis de le mettre à jour aurait-il le même effet?

5
iain

Si vous n'avez pas --force option je pense que vous n'avez pas non plus le --accept. La mise à jour svn a une nouvelle option appelée --accept pour "spécifier une action de résolution automatique des conflits". Il pourrait être: postopone, mine-conflict, theirs-conflict, edit, launch, theirs-full, mine-full or base.

Une svn help update aidera!

Vous devriez demander à Subversion de mettre à jour votre copie de travail. Si des fusions sont nécessaires, Subversion vous le dira. Sinon, vous aurez le dernier de tout le reste.

Je pense qu'une meilleure solution est de fusionner votre code dans Subversion, de souffler complètement votre copie de travail, puis de nettoyer le projet.

Votre référentiel doit contenir tout le code significatif, pas votre copie de travail.

3
duffymo

Je sais que c'est une super vieille question, mais j'essayais de trouver comment le faire moi-même et j'ai trouvé ceci:

svn status --no-ignore | grep '^\?' | sed 's/^\? //' | xargs -Ixx rm -rf xx

Fondamentalement, cela répertorie tous les fichiers non versionnés de votre référentiel, puis redirige cette liste vers un rm forcé pour la purge. Cela a supprimé TOUS les fichiers sans version sans invite, alors assurez-vous de savoir ce que vous faites.

0
Carnix