web-dev-qa-db-fra.com

Comment trouver le numéro de version de mon serveur Subversion?

Je veux savoir si mon serveur exécute Subversion 1.5.

Comment puis-je savoir cela?

Ce serait également agréable de connaître le numéro de version de mon client SVN. svn help n'a pas été utile.

Note: Je ne veux pas de mon numéro de révision du projet, etc. Cette question concerne le Logiciel Subversion lui-même.

291
elviejo

Pour trouver la version du répertoire Subversion REPOSITORY, vous pouvez:

  1. Regardez dans le référentiel sur le Web et au bas de la page, il indiquera quelque chose comme:
    "Propulsé par Subversion version 1.5.2 (r32768)."
  2. A partir de la ligne de commande: <insérez curl, grep oneliner ici>

Si non affiché, voir la source de la page

<svn version="1.6.13 (r1002816)" href="http://Subversion.tigris.org/"> 

Passons maintenant au CLIENT Subversion:

svn --version

suffira

209
elviejo

Fusionnons ces réponses:

Pour REPOSITORY/SERVER (la question initiale):

Si vous pouvez accéder au serveur Subversion:

  • A partir d'une version antérieure answer by Manuel , exécutez ce qui suit sur le serveur SVN:

    svnadmin --version
    

Si accès HTTP/HTTPS:

  • Voir la ligne "powered by Subversion" lors de l'accès au serveur via un navigateur.

  • Accédez au référentiel via un navigateur, puis recherchez la chaîne de version incorporée dans la source HTML. De réponses précédentes de elviejo et jaredjacobs . De même, depuis ??, utilisez les outils de développement de votre navigateur (en général, Ctrl + Shift + I) pour lire la réponse complète. C'est également le moyen le plus simple (non automatisé) de traiter les certificats et les autorisations - votre navigateur le fait pour vous.

  • Vérifiez les balises de réponse (celles-ci ne figurent pas dans la source HTML), à partir de ne réponse précédente par Christopher

    wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 |
    sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p'
    

Si svn: // ou ssh + svn accès

Si les serveurs SVC GoogleCode

    Check out the current version in a FAQ: 
    http://code.google.com/p/support/wiki/SubversionFAQ#What_version_of_Subversion_do_you_use?

Si un autre serveur SVN personnalisé

    TBD

Veuillez éditer pour finir cette réponse

Pour le client (pas la question initiale):

svn --version
132
Lars Nordin

Sur le serveur: svnserve --version

en cas de configuration basée sur svnserve (svn: // et svn + xxx: //).

(Pour être complet).

70
Milen A. Radev

Voici le moyen le plus simple d'obtenir la version du serveur SVN. HTTP fonctionne même si votre référentiel SVN nécessite HTTPS .

$ curl -X OPTIONS http: // my-svn-domain /
 <! DOCTYPE HTML PUBLIC "- // IETF // DTD HTML 2.0 // FR"> 
 <Html> <head> ... </ head> 
 <Body > ... 
 <adresse> Apache/2.2.11 (Debian) DAV/2 SVN/1.5.6 PHP/5.2.9-4 ... </ address> 
 </ Body>
</ html>
48
jaredjacobs

Pour un serveur basé sur HTTP, un script Python permet de trouver la version du serveur à l'adresse suivante: http://svn.Apache.org/repos/asf/Subversion/trunk/tools/client- side/server-version.py

Vous pouvez obtenir la version du client avec

`svn --version`
24
PiedPiper

Si la version du serveur Subversion n'est pas imprimée dans la liste HTML, elle est disponible dans l'en-tête HTTP RESPONSE renvoyé par le serveur. Vous pouvez l'obtenir en utilisant cette commande Shell

wget -S --no-check-certificate \
  --spider 'http://svn.server.net/svn/repository' 2>&1 \
  | sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p';

Si le serveur SVN nécessite que vous fournissiez un nom d'utilisateur et un mot de passe, ajoutez les paramètres wget--user et --password à la commande, comme ceci

wget -S --no-check-certificate \
  --user='username' --password='password' \
  --spider 'http://svn.server.net/svn/repository' 2>&1 \
  | sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p';
24
Christopher

Une autre option: Si vous avez Firefox (j'utilise 14.0.1) et une interface Web SVN:

  • Ouvrir Outils-> Développeur Web-> Console Web sur une page de dépôt
  • Rafraîchir la page
  • Cliquez sur la ligne GET
  • Regardez dans la section En-têtes de réponse à la ligne Serveur:

Il devrait y avoir une chaîne "SVN/1.7.4" ou similaire. Encore une fois, cela ne fonctionnera probablement que si vous avez "ServerTokens Full" comme mentionné ci-dessus.

8
Conrad

Essaye ça:

ssh your_user@your_server svnserve --version

svnserve, version 1.3.1 (r19032)
   compiled May  8 2006, 07:38:44

J'espère que ça aide.

7
ejaenv

Il n’existe vraiment pas de moyen facile de savoir quelle version de Subversion votre serveur est en cours d’exécution - sauf pour accéder à le serveur et voyez par vous-même.

Cependant, cela peut ne pas être un problème aussi grave que vous ne le pensez. Les clients Subversion ont été gérés en grande partie, et la plupart des versions des clients Subversion peuvent fonctionner avec presque toutes les versions du serveur.

La dernière version où la version du serveur a réellement fait la différence pour le client a été le passage de la version 1.4 à la version 1.5 lorsque le suivi de fusion a été ajouté. Le suivi des fusions avait été grandement amélioré dans la version 1.6, mais cela n'affectait pas vraiment les interactions entre le client et le serveur.

Prenons les dernières modifications de Subversion 1.8:

  • svn move est maintenant une opération de première classe: Subversion comprend enfin que le svn move n'est pas un svn copy et svn delete. Cependant, le client gère cela et n’affecte pas vraiment la version du serveur.
  • svn merge --reintegrate obsolète: Encore une fois, tant que le serveur est à la version 1.5 ou supérieure, cela ne pose aucun problème.
  • Property Inheritance: Il s'agit d'une autre mise à jour de la version 1.8, mais cela fonctionnera avec tout serveur Subversion - bien que les serveurs Subversion exécutant la version 1.8 offrent de meilleures performances sur les propriétés héritables.
  • Deux nouvelles propriétés pouvant être héritées - svn:global-ignores et svn:auto-props: Hélas! Ce que nous voulions vraiment. Une façon de configurer ces deux propriétés sans dépendre du fichier de configuration Subversion lui-même. Cependant, il s’agit d’un problème réservé au client. Par conséquent, la version du serveur que vous utilisez importe peu.
  • mise en cache de la mémoire gnu-agent: autre fonctionnalité réservée au client.
  • améliorations des performances fsfs et authentification authz in-repository. Fonctionnalités intéressantes, mais elles fonctionnent quelle que soit la version du client que vous utilisez.

De toutes les fonctionnalités, une seule dépend de la version du serveur 1.5 ou supérieure (et la version 1.4 est obsolète depuis un certain temps. Les nouvelles fonctionnalités de la version 1.8 amélioreront les performances de votre copie de travail, mais le serveur est à la révision 1.8. Isn Vous êtes beaucoup plus affecté par votre version client que par votre version serveur.

Je sais que ce n'est pas la réponse que vous vouliez (aucun moyen officiel de voir la version du serveur), mais heureusement, la version du serveur ne vous affecte pas vraiment beaucoup.

7
David W.

Pour une configuration svn + ssh, utilisez ssh pour exécuter svnserve --version sur la machine hôte:

$ ssh utilisateur @ hôte svnserve --version

Il est nécessaire d'exécuter la commande svnserve sur la machine servant réellement de serveur.

4
Glenn

Utilisez simplement un navigateur Web pour accéder à l’adresse SVN. Vérifiez le code source (Ctrl + U). Ensuite, vous trouverez quelque chose comme dans le code HTML:

<svn version="1.6. ..." ...
2
N0thing

Parcourez le référentiel avec Firefox et inspectez l’élément avec Firebug . Sous l'onglet NET, vous pouvez vérifier l'en-tête de la page. Il aura quelque chose comme:

Server: Apache/2.2.14 (Win32) DAV/2 SVN/1.X.X
2
Jason H

Vous pouvez vous connecter à votre serveur Subversion en utilisant HTTP et trouver le numéro de version dans l'en-tête HTTP.

1
eaubin

Pour Subversion 1.7 et versions ultérieures, le serveur ne fournit pas de pied de page indiquant la version du serveur. Mais vous pouvez exécuter la commande suivante pour obtenir la version à partir des en-têtes de réponse.

$ curl -s -D - http://svn.server.net/svn/repository
HTTP/1.1 401 Authorization Required
Date: Wed, 09 Jan 2013 03:01:43 GMT
Server: Apache/2.2.9 (Unix) DAV/2 SVN/1.7.4

Notez que cela fonctionne également sur les serveurs Subversion où vous n’avez pas l’autorisation d’accéder.

1
mettkea

Un référentiel n'est pas mis à jour automatiquement sauf si l'administrateur exécute 'svnadmin upgrade'. Pour être sûr du numéro de version du référentiel, vérifiez le fichier 'format'. Voir commentaire de @ bdumitri .

0
icasimpan