Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find my Subversion server version number?

Tags:

svn

People also ask

How do I know if svn is installed on Linux?

SVN Installation To check whether it is installed or not use following command. If Subversion client is not installed, then command will report error, otherwise it will display the version of the installed software. If you are using RPM-based GNU/Linux, then use yum command for installation.

How do I check Windows Subversion?

In Apache Subversion, commands are entered via a terminal window. To open this in Windows, press the 'Windows key' and 'r. ' This will bring up the 'Run' dialog box. Enter 'cmd' and hit 'Ok.

Is svn client/server version control system?

What is Subversion: Subversion (SVN) is one of the most well-known centralized version control systems. In Subversion or SVN, you are checking out a single version of the repository. With SVN, your data is stored on a central server.


To find the version of the subversion REPOSITORY you can:

  1. Look to the repository on the web and on the bottom of the page it will say something like:
    "Powered by Subversion version 1.5.2 (r32768)."
  2. From the command line: <insert curl, grep oneliner here>

If not displayed, view source of the page

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

Now for the subversion CLIENT:

svn --version

will suffice


Let's merge these responses:

For REPOSITORY / SERVER (the original question):

If able to access the Subversion server:

  • From an earlier answer by Manuel, run the following on the SVN server:

    svnadmin --version
    

If HTTP/HTTPS access:

  • See the "powered by Subversion" line when accessing the server via a browser.

  • Access the repository via browser and then look for the version string embedded in the HTML source. From earlier answers by elviejo and jaredjacobs. Similarly, from ??, use your browser's developer tools (usually Ctrl + Shift + I) to read the full response. This is also the easiest (non-automated) way to deal with certificates and authorization - your browser does it for you.

  • Check the response tags (these are not shown in the HTML source), from an earlier answer by Christopher

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

If svn:// or ssh+svn access

  • From an earlier answer by Milen

    svnserve --version   (run on svn server)
    
  • From an earlier answer by Glenn

    ssh user@host svnserve --version
    

If GoogleCode SVN servers

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

If another custom SVN servers

    TBD

Please edit to finish this answer

For CLIENT (not the original question):

svn --version

On the server: svnserve --version

in case of svnserve-based configuration (svn:// and svn+xxx://).

(For completeness).


Here's the simplest way to get the SVN server version. HTTP works even if your SVN repository requires HTTPS.

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

For an HTTP-based server there is a Python script to find the server version at: http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py

You can get the client version with

`svn --version`

If the Subversion server version is not printed in the HTML listing, it is available in the HTTP RESPONSE header returned by the server. You can get it using this shell command

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

If the SVN server requires you provide a user name and password, then add the wget parameters --user and --password to the command like this

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';