Copie de travail de mise à niveau SVN


133

Je ne peux pas faire de commit SVN. J'obtiens cette erreur:

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)

Comment y remédier?

Réponses:


154

Vous devez mettre à jour votre client subversion vers au moins 1.7.

Avec le client de ligne de commande, vous devez mettre à niveau manuellement votre format de copie de travail en exécutant la commande svn upgrade:

Mise à niveau de la copie de travail

Subversion 1.7 introduit des changements substantiels dans le format de la copie de travail. Dans les versions précédentes de Subversion, Subversion mettait automatiquement à jour la copie de travail au nouveau format lorsqu'une opération d'écriture était effectuée. Cependant, Subversion 1.7 en fera une étape manuelle. Avant d'utiliser Subversion 1.7 avec leurs copies de travail, les utilisateurs devront exécuter une nouvelle commande svn upgradepour mettre à jour les métadonnées au nouveau format. Cette commande peut prendre un certain temps, et pour certains utilisateurs, il peut être plus pratique de simplement récupérer une nouvelle copie de travail.
- Notes de mise à jour de Subversion 1.7

TortoiseSVN effectuera la mise à niveau de la copie de travail avec la prochaine opération d'écriture:

Mise à niveau de la copie de travail

Subversion 1.7 introduit des changements substantiels dans le format de la copie de travail. Dans les versions précédentes, Subversion mettait automatiquement à jour la copie de travail dans le nouveau format lorsqu'une opération d'écriture était effectuée. Cependant, Subversion 1.7 en fera une étape manuelle.

Avant de pouvoir utiliser une copie de travail existante avec TortoiseSVN 1.7, vous devez d'abord mettre à jour le format. Si vous cliquez avec le bouton droit sur une ancienne copie de travail, TortoiseSVN ne vous montre qu'une seule commande dans le menu contextuel: Mettre à niveau la copie de travail.
- Notes de mise à jour de TortoiseSVN 1.7


2
Lorsque svn upgrade
j'émets

@geneorama: avez-vous svninstallé? ( sudo apt-get install svn)
knittl

5
Merci pour la réponse! J'ai installé svn (subversion), mais c'était la version 1.6, qui n'a pas la upgradecommande. Ubuntu 12.04 n'installerait pas 1.7 sans ajouter un nouveau ppa. askubuntu.com/questions/65468/…
geneorama

@genorama Voici les instructions pour mettre à jour svn pour Mac OS qui fonctionnera à partir de la version 1.6 redfinsolutions.com/blog/update-subversion-mac-os-x . Pour Linux, j'imagine que c'est similaire.
Mike Eng

1
"Cette commande peut prendre un certain temps, et pour certains utilisateurs, il peut être plus pratique de simplement extraire une nouvelle copie de travail." J'exécute la commande sans savoir à quoi m'attendre, après 2 secondes, la console répond mis à jour '.' : P
rabidmachine9

57

depuis eclipse, vous pouvez sélectionner sur le projet, clic droit-> équipe-> mise à niveau


Impossible de trouver l'option de mise à niveau
Amit Thaper

6

Sur MacOS:

  1. Obtenez les derniers fichiers binaires du client SVN compilés à partir d' ici .
  2. Installer.
  3. Ajoutez des binaires au chemin (le dernier écran d'installation explique comment procéder).
  4. Ouvrez le terminal et exécutez la commande suivante sur votre répertoire de projet:

    mise à niveau svn


3

Si vous venez de mettre à niveau vers SVN 1.7 sur votre machine (comme je viens de le faire) et que vous avez beaucoup de projets dans votre espace de travail Eclipse qui doivent être mis à niveau, vous pouvez effectuer les opérations suivantes dans une fenêtre de terminal sur les systèmes Unix-baesd:

cd [eclipse/workspace] # <- you supply the actual path here

for file in `find . -depth 2 -name "*.svn"`; do svn upgrade `dirname $file` ; done;

Après avoir cherché un peu sur Google, j'ai trouvé ce qui semble être l'équivalent pour les utilisateurs de Windows:

http://www.rqna.net/qna/mnrmqn-how-to-find-all-svn-working-copies-on-win-xp.html

Voir la réponse d'Alexey Shcherbak à mi-chemin de la page.


2

Ce problème est dû à ce que vous essayez de compiler le projet qui contient les fichiers de OLder SVN que vous utilisez actuellement.

Vous avez deux solutions pour résoudre ce problème

  1. pour installer la version 1.6 SVN pour être compatible avec les fichiers SVN du projet
  2. essayez de mettre à niveau le projet .. (ne fonctionne pas toujours).

2

Vous pouvez également recevoir des messages étranges sur la nécessité de mettre à niveau votre copie de travail lorsque d'autres copies de travail sont imbriquées dans la vôtre. J'ai eu ce problème avec un projet Symphony où certains dossiers de framework sont une copie de travail, qui, je suppose, n'ont pas été nettoyés correctement avant leur publication.

Dans ce cas, effectuez simplement une recherche de fichier .svnet supprimez les .svndossiers dont vous ne voulez pas (ne supprimez pas le vôtre à la racine bien sûr).


1

Après la mise à jour vers la dernière version de Tortoise-SVN, je devais d'abord faire une «mise à jour» (par opposition à une «mise à jour»!).


1

Si vous obtenez cette erreur de Netbeans (7.2+), cela signifie que votre version installée séparément de Subversion est supérieure à la version de netbeans. Dans mon cas, Netbeans (v7.3.1) avait SVN v1.7 et je venais de mettre à niveau mon SVN vers la v1.8.

Si vous regardez Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane), définissez le client préféré = CLI , vous pouvez alors définir le chemin du SVN installé qui était pour moi C:\Program Files\TortoiseSVN\bin.

Pour en savoir plus, consultez la FAQ des clients Netbeans Subversion .


1

Avec AnkhSVN dans Visual Studio, il existe également une option « Mettre à niveau la copie de travail» dans le menu contextuel de la solution dans l'Explorateur de solutions (le cas échéant).


0

Vous pouvez passer à Subversion 1.7. Pour mettre à jour vers Subversion 1.7, vous devez lancer un projet existant dans Xcode 5 ou supérieur. Cela entraînera un avertissement ' The working copy ProjectName should be upgraded to Subversion 1.7' (illustré dans la capture d'écran ci-dessous).

Capture d'écran d'avertissement

Vous devez sélectionner le Upgradebouton ' ' pour passer à Subversion 1.7. Cela prendra un peu de temps.

Si vous utilisez un terminal, vous pouvez mettre à niveau vers Subversion 1.7 en exécutant la commande ci-dessous dans le répertoire de votre projet: svn upgrade

Notez qu'une fois que vous avez upgraded to Subversion 1.7 you cannot go back to Subversion 1.6.

Consultez la documentation Apple pour plus de détails.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.