2010-02-04 4 views
1

J'ai un script python qui utilise pysvn et extrait ou met à jour une copie locale obtenue également à partir d'un repo local. Je l'exécute sur une machine Windows dans laquelle je n'ai pas installé Subversion. Le svnsync utilisé pour obtenir une copie d'un repo réel a été fait sur une autre machine. Avec cela, j'ai supposé que PySVN n'a pas besoin de SVN installé pour pouvoir extraire ou mettre à jour à partir d'un dossier qui contient le résultat de svnsync.Est-ce que PySVN nécessite l'installation de Subversion?

Les problèmes commencent lorsque dans Windows certains repos ont des fichiers avec des versions minuscules et mixedcase. Windows va donner une erreur lors de la mise à jour ou de la création de deux fichiers avec des cas différents, donc j'ai sauté dans Ubuntu pour exécuter mon script.

Dans Ubuntu, je reçois cette erreur en cours d'exécution de mon script avec pysvn:

pysvn._pysvn_2_6.ClientError: Unable to open an ra_local session to URL 
Unable to open repository xxxx 
Expected FS format between '1' and '3'; found '4' 

Après quelques recherches, cela semble être un message d'erreur lié à svn 1.6 mais pysvn soutient soi-disant cela et sudo apt-get install python-svn me dit que j'ai la dernière version ...

Alors, est-ce à cause de SVN ou de pySVN? Si le windows pysvn ne s'en plaint pas, pourquoi est-ce que c'est le cas d'Ubuntu? Ou est-ce lié à avoir svn sur la machine ou pas?

Figuring celui-ci dehors me aidera à répondre à une previous post de mes essentiellement sur le même sujet

Répondre

1

C'est parce que votre Ubuntu accède à la prise en pension avec trop ancienne version de l'API SVN.

Le Windows 1 est bien car il utilise évidemment une version plus récente.

Selon les PySVN download page:

kits binaires de Windows

Note: Ces kits fenêtres sont tout ce que vous besoin. Il n'est pas nécessaire d'installer les kits Subversion.

et

kits binaires Mac OS X

Note: Ces kits Mac OS X sont tout ce que vous besoin. Il n'est pas nécessaire d'installer les kits Subversion.

mais, venez

Linux kits binaires

il ne mentionne rien pas besoin Subversion. Je suppose la subversion a besoin linux pysvn et est donc uniquement à l'aide 1.5.x

En plus de cela, il dit seulement

Adossé Subversion 1.5.6 et Subversion 1.6.5

pour Windows et Mac OS X, et non pour Linux

Vous aurez besoin d'installer un client SVN sur Ubuntu qui prend en charge le format repo plus récente. Évidemment, vous pourriez attendre jusqu'à ce que la version Nix de PySVN soit mise à jour, ou trouver un autre outil SVN ...

+0

Merci d'avoir remarqué ce détail entre les versions Windows et Linux. Je suis en train de télécharger ubuntu 9.10 comme le répondant sur mon autre thread suggère que cette version d'Ubuntu a subversion 1.6 dedans. Espérons que le pysvn de linux fonctionnera alors, s'il s'appuie sur un svn engine pour faire le travail sur le repo et l'interface entre les deux n'a pas changé ... Je rapporterai. – greye

+0

le linux pysvn semble utiliser le moteur qui est disponible localement. Je viens de lancer le script qui échoue sur un ubuntu 9.10 et cela a bien fonctionné, donc nous n'avons pas besoin d'attendre que pysvn soit mis à jour pour que cela fonctionne – greye

+0

ubuntu packages pysvn pour utiliser la subversion packagée ubuntu. Ainsi, lorsque subversion est mise à jour, disons avec un correctif de sécurité, pysvn voit automatiquement le correctif. –

Questions connexes