web-dev-qa-db-ja.com

Subversionサーバーのバージョン番号を調べる方法は?

私のサーバーがSubversion 1.5を実行しているかどうか知りたいのですが。

どうやってそれを見つけることができますか?

私のSVNクライアントのバージョン番号を知っているのもいいでしょう。 svn helpは役に立ちませんでした。

注:自分のプロジェクトのリビジョン番号などは欲しくありません。この質問はSubversionソフトウェアについてですそれ自体。

291
elviejo

Subversionリポジトリのバージョンを確認するには、次のようにします。

  1. Web上とページの下部にあるリポジトリを見ると、次のようになります。
    "Subversionバージョン1.5.2(r32768)を使用"。
  2. コマンドラインから:<insert curl、grep oneliner>>

表示されていない場合は、ページのソースを表示してください

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

Subversion CLIENTの場合:

svn --version

十分であろう

208
elviejo

これらの回答をマージしましょう。

リポジトリ/サーバ(元の質問)の場合:

Subversionサーバーにアクセスできる場合

  • 以前の answer by Manuel から、SVNサーバで以下を実行してください。

    svnadmin --version
    

HTTP/HTTPSアクセスの場合

  • ブラウザ経由でサーバにアクセスするときは、 "powered by Subversion"の行を見てください。

  • ブラウザを介してリポジトリにアクセスし、HTMLソースに埋め込まれているバージョン文字列を探します。 elviejoによる以前の回答 および jaredjacobs から。同様に、??から、あなたのブラウザの開発者ツールを使ってください Ctrl + Shift + I完全な応答を読むために)。これは証明書と承認を扱う最も簡単な(自動化されていない)方法でもあります - あなたのブラウザがあなたのためにそれをします。

  • 以前の回答 by Christopher のレスポンスタグをチェックします(これらはHTMLソースには表示されません)。

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

Svn://またはssh + svnアクセスの場合

GoogleCode SVNサーバーの場合

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

他のカスタムSVNサーバーの場合

    TBD

この回答を終了するには編集してください

CLIENTの場合(元の質問ではありません):

svn --version
131
Lars Nordin

サーバー上:svnserve --version

svnserveベースの設定の場合(svn://およびsvn + xxx://)。

(完全のために).

70
Milen A. Radev

これがSVNサーバーのバージョンを入手する最も簡単な方法です。あなたのSVNリポジトリが必要とする場合でも HTTP は動作します HTTPS

$ curl -Xオプションhttp:// my-svn-domain /
 <!DOCTYPE HTML PUBLIC " -  // IETF // DTD HTML 2.0 // EN"> 
 <html> <head> ... </head> 
 <body > ... 
 <アドレス> Apache/2.2.11(Debian)DAV/2 SVN/1.5.6 PHP/5.2.9-4 ... </address> 
 </body>
</html>
48
jaredjacobs

HTTPベースのサーバーの場合、サーバーのバージョンを見つけるためのPythonスクリプトがあります。 http://svn.Apache.org/repos/asf/Subversion/trunk/tools/client-side /server-version.py

クライアントのバージョンは

`svn --version`
24
PiedPiper

SubversionサーバーのバージョンがHTMLリストに表示されていない場合は、サーバーから返されたHTTP RESPONSEヘッダーに含まれています。このシェルコマンドを使ってそれを得ることができます

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

SVNサーバーでユーザー名とパスワードを入力する必要がある場合は、wgetパラメーター--user--passwordを次のようにコマンドに追加します

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

もう1つの選択肢:Firefox(私は14.0.1を使用しています)およびSVN Webインターフェースをお持ちの場合:

  • リポジトリページで[ツール] - > [Web開発者] - > [Webコンソール]を開きます。
  • ページの更新
  • GET行をクリック
  • Server:行のResponse Headersセクションを調べてください。

そこには "SVN/1.7.4"という文字列があるべきです。繰り返しますが、これはおそらく、上記のように "ServerTokens Full"がある場合にのみ機能します。

8
Conrad

これを試して:

ssh your_user@your_server svnserve --version

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

助けになれば幸いです。

7
ejaenv

あなたのサーバが動いているSubversionのバージョンを知るための簡単な方法は実際にはありません。サーバーと自分の目で確かめてください。

しかし、これはあなたが思うほど大きな問題ではないかもしれません。 Subversionクライアントは扱われる面倒な作業の大部分であり、Subversionクライアントのほとんどのバージョンはほとんどすべてのバージョンのサーバーと連携できます。

サーバーバージョンが実際にクライアントに大きな影響を与えた最後のリリースは、マージ追跡が追加されたときのリリース1.4からリリース1.5への変更でした。マージ追跡はバージョン1.6で大幅に改善されましたが、それは実際にはクライアントとサーバー間の対話には影響しません。

Subversion 1.8の最新の変更を見てみましょう。

  • svn moveは現在ファーストクラスの操作です:Subversionはついにsvn movesvn copyおよびsvn deleteではないことを理解しました。ただし、これはクライアントが処理するもので、サーバーのバージョンには実際には影響しません。
  • svn merge --reintegrateは廃止予定:やはり、サーバーのバージョンが1.5以上であれば、これは問題にはなりません。
  • Property Inheritance:これは別の1.8リリースのアップデートですが、これはどのSubversionサーバーでも動作します - 1.8を実行しているSubversionサーバーは継承可能なプロパティでより良いパフォーマンスを提供します。
  • 2つの新しい継承可能なプロパティ - svn:global-ignoressvn:auto-props:ああ!私たちが本当に欲しかったもの。 Subversion設定ファイルに依存せずにこれら2つのプロパティを設定する方法。ただし、これはクライアントのみの問題なので、使用しているサーバーのバージョンは関係ありません。
  • gnu-agentメモリキャッシング:もう一つのクライアント専用の機能。
  • fsfsのパフォーマンスの向上とauthzのリポジトリ内認証。すばらしい機能ですが、どのバージョンのクライアントを使用していてもこれらは機能します。

すべての機能のうち、1つだけがサーバーのバージョンが1.5以上であることに依存します(そして1.4はかなり古くなっています。1.8の新しい機能は作業コピーのパフォーマンスを向上させますが、リビジョン1.8のサーバーはisnですサーバーのバージョンよりクライアントのバージョンの方がはるかに影響を受けます。

私はこれがあなたが望んだ答えではないことを知っています(サーバのバージョンを知るための公式な方法はありません)が、幸いなことにサーバのバージョンはそれほどあなたに影響を与えません。

7
David W.

Svn + ssh設定の場合は、sshを使用してホストマシン上でsvnserve --versionを実行します。

$ sshユーザー@ホストsvnserve --version

実際にサーバーとして機能しているマシン上でsvnserveコマンドを実行する必要があります。

4
Glenn

SVNアドレスにアクセスするには、Webブラウザを使用するだけです。ソースコードを確認してください(Ctrl + U)そうすると、HTMLコードのようになります。

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

Firefoxでリポジトリを閲覧し、 Firebug で要素を調べてください。 NETタブの下で、あなたはページのヘッダーをチェックすることができます。それは次のようになります。

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

Subversionサーバーに接続するには HTTP を使い、HTTPヘッダーでバージョン番号を見つけてください。

1
eaubin

Subversion 1.7以上では、サーバーはサーバーのバージョンを示すフッターを提供しません。しかし、以下のコマンドを実行してレスポンスヘッダからバージョンを取得することができます。

$ 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

これはあなたがアクセスする権限を持っていないSubversionサーバーでも動作することに注意してください。

1
mettkea

管理者が 'svnadmin upgrade'を実行しない限り、リポジトリは自動的に更新されません。リポジトリのバージョン番号を確認するには、 'format'ファイルを確認してください。 @ bdumitriuのコメント を参照してください。

0
icasimpan