web-dev-qa-db-fra.com

Ce client est trop ancien pour fonctionner avec une copie de travail

Partout où je vais sur Google, j'obtiens la même réponse à ce problème mais ce n'est pas la bonne réponse pour moi. À l'origine, j'ai installé Subversion 1.5.6 pour Windows (j'exécute Windows Server 2008) sur mon serveur et j'ai créé un référentiel pour un projet. Ensuite, j'ai utilisé une version 1.6.X du client Tortoise sur mon ordinateur portable pour mettre à jour le projet. Tout était stupide jusqu'à ce que j'essaie d'utiliser un script de hook post-commit (je mets à jour les dossiers dans wwwroot on commit pour refléter les changements sur une page web). Un message m'indique "Ce client est trop ancien pour fonctionner avec la copie de travail" XXX "".

J'ai donc désinstallé le client SVN sur mon ordinateur portable et supprimé le référentiel du serveur. J'ai ensuite créé un nouveau référentiel sur le serveur à partir de zéro et installé TortoiseSVN version 1.5.6 en pensant que si la version client est la même que Subversion sur le serveur, ils devraient jouer à Nice. Après avoir téléchargé à nouveau le référentiel sur mon ordinateur portable et réinstallé mon script de raccordement, je reçois le même message ...

Il est assez laborieux et perturbant de devoir continuer à effacer mes référentiels et à réinstaller mon client pour trouver ceux qui coopèrent par essais et erreurs. Je ne vois aucune raison (et je n'en trouve aucune en ligne) pour expliquer pourquoi le référentiel argumenterait si TortoiseSVN et mon serveur Subversion sont tous deux 1.5.6.

Y a-t-il quelqu'un qui pourrait expliquer pourquoi je recevrais ce message? Peut-être même quelqu'un qui pourrait me faire savoir quelle version de TortoiseSVN je dois utiliser pour que mon serveur SVN 1.5.6 ne se plaint pas. Mon script de hook fonctionne à partir de la ligne de commande sur mon serveur, donc je sais que ce n'est pas sa faute. Merci d'avance.

22
Adamantine

Il s'avère que ma version de serveur de SVN était 1.5.6, mais le client TortoiseSVN que j'avais installé sur le serveur était la version 1.6.3. Lorsque je vérifiais ma copie de travail wwwroot (ou la mettais à jour en utilisant les options de clic droit que TortoiseSVN m'a donnée) et que je mettais à jour la version de cette copie de travail, le serveur SVN ne pouvait pas la mettre à jour car c'était une version inférieure.

J'ai téléchargé TortoiseSVN 1.5.6 à partir du fichier hippopotame et vérifié à nouveau la copie de travail sur le serveur et tout a très bien fonctionné!

15
Adamantine

Vous prétendez que la cause de votre problème n'est pas le script de hook post-commit mais mon intuition est que c'est exactement la racine de vos problèmes. Lorsque votre script post-commit s'exécute, comment obtient-il les fichiers de votre serveur Subversion afin qu'il puisse les copier sur votre serveur Web? N'est-ce pas vérifiez-les? En outre, vous dites que tout fonctionnait bien jusqu'à vous avez installé le script de hook post-commit.

J'ai déjà travaillé dans des situations d'installation SVN client/serveur en mode mixte, y compris TortoiseSVN en tant que client et je n'ai jamais rencontré d'incompatibilité tant que les clients qui travaillent sur le même référentiel sont de la même version.

Pourriez-vous s'il vous plaît publier le contenu de votre hook post-commit afin que nous puissions développer davantage?

3
paracycle

Dans mon cas, j'ai déplacé le code Eclipse d'un endroit à un autre, puis le problème a commencé. Pour résoudre, je vérifie le projet du repo svn. Ensuite, dans l'ancien projet, j'ai nettoyé tous les fichiers svn. (recherchez simplement .svn et supprimez) puis je copie le contenu dans le projet qui vient d'être extrait, mes modifications sont devenues visibles et mon projet est à jour. Cette méthode peut être appliquée pour d'autres erreurs gênantes. J'espère que cela aide quelqu'un

1
Halis Yılboğa

Si vous passez de 1,6 à 1,5, vous devrez peut-être rétrograder. Vous ne nous dites jamais comment vous déplacez votre référentiel, mais vous devez, selon la façon dont vous le faites, obtenir une version du référentiel lui-même.

http://wiki.open.collab.net/wiki/Subversion_Client_FAQ#head-ed7f8e6b7f3265c74eaf7d49dcd4aab85bae2a12

0
Jonke

Vérifiez pour voir quelle commande svn votre script de hook post-commit est en cours d'exécution. Vérifiez que la version de cette commande correspond à la version du dernier client SVN pour toucher votre référentiel.

Par défaut, lors de l'utilisation d'une nouvelle version d'un client Subversion, le référentiel sera mis à niveau vers cette version. Cela signifie que les clients plus âgés cessent soudainement de travailler.

0
pjp

J'ai eu la même erreur. Mais la cause était que j'ai vérifié le projet avec un client svn 1.5 et mon plugin subclipse dans Eclipse était la version 1.4. Donc, la mise à jour de mon plugin subclipse vers la version 1.6 a fait l'affaire. donc le problème était que subclipse 1.4 ne fonctionne pas avec les projets qui ont été extraits avec le client svn 1.5.

J'espère que cela aide quelqu'un.