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.
Pour trouver la version du répertoire Subversion REPOSITORY, vous pouvez:
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
Fusionnons ces réponses:
A partir d'une version antérieure answer by Manuel , exécutez ce qui suit sur le serveur SVN:
svnadmin --version
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'
De ne réponse précédente par Milen
svnserve --version (run on svn server)
De ne réponse précédente par Glenn
ssh user@Host svnserve --version
Check out the current version in a FAQ:
http://code.google.com/p/support/wiki/SubversionFAQ#What_version_of_Subversion_do_you_use?
TBD
Veuillez éditer pour finir cette réponse
svn --version
Sur le serveur: svnserve --version
en cas de configuration basée sur svnserve (svn: // et svn + xxx: //).
(Pour être complet).
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>
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`
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';
Une autre option: Si vous avez Firefox (j'utilise 14.0.1) et une interface Web SVN:
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.
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.
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.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.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.
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.
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. ..." ...
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
Vous pouvez vous connecter à votre serveur Subversion en utilisant HTTP et trouver le numéro de version dans l'en-tête HTTP.
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.
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 .