私のサーバーがSubversion 1.5を実行しているかどうか知りたいのですが。
どうやってそれを見つけることができますか?
私のSVNクライアントのバージョン番号を知っているのもいいでしょう。 svn help
は役に立ちませんでした。
注:自分のプロジェクトのリビジョン番号などは欲しくありません。この質問はSubversionソフトウェアについてですそれ自体。
Subversionリポジトリのバージョンを確認するには、次のようにします。
表示されていない場合は、ページのソースを表示してください
<svn version="1.6.13 (r1002816)" href="http://Subversion.tigris.org/">
Subversion CLIENTの場合:
svn --version
十分であろう
これらの回答をマージしましょう。
ブラウザ経由でサーバにアクセスするときは、 "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'
svnserve --version (run on svn server)
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
この回答を終了するには編集してください
svn --version
サーバー上:svnserve --version
svnserveベースの設定の場合(svn://およびsvn + xxx://)。
(完全のために).
HTTPベースのサーバーの場合、サーバーのバージョンを見つけるためのPythonスクリプトがあります。 http://svn.Apache.org/repos/asf/Subversion/trunk/tools/client-side /server-version.py
クライアントのバージョンは
`svn --version`
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';
もう1つの選択肢:Firefox(私は14.0.1を使用しています)およびSVN Webインターフェースをお持ちの場合:
そこには "SVN/1.7.4"という文字列があるべきです。繰り返しますが、これはおそらく、上記のように "ServerTokens Full"がある場合にのみ機能します。
これを試して:
ssh your_user@your_server svnserve --version
svnserve, version 1.3.1 (r19032)
compiled May 8 2006, 07:38:44
助けになれば幸いです。
あなたのサーバが動いているSubversionのバージョンを知るための簡単な方法は実際にはありません。サーバーと自分の目で確かめてください。
しかし、これはあなたが思うほど大きな問題ではないかもしれません。 Subversionクライアントは扱われる面倒な作業の大部分であり、Subversionクライアントのほとんどのバージョンはほとんどすべてのバージョンのサーバーと連携できます。
サーバーバージョンが実際にクライアントに大きな影響を与えた最後のリリースは、マージ追跡が追加されたときのリリース1.4からリリース1.5への変更でした。マージ追跡はバージョン1.6で大幅に改善されましたが、それは実際にはクライアントとサーバー間の対話には影響しません。
Subversion 1.8の最新の変更を見てみましょう。
svn move
は現在ファーストクラスの操作です:Subversionはついにsvn move
がsvn copy
およびsvn delete
ではないことを理解しました。ただし、これはクライアントが処理するもので、サーバーのバージョンには実際には影響しません。svn merge --reintegrate
は廃止予定:やはり、サーバーのバージョンが1.5以上であれば、これは問題にはなりません。svn:global-ignores
とsvn:auto-props
:ああ!私たちが本当に欲しかったもの。 Subversion設定ファイルに依存せずにこれら2つのプロパティを設定する方法。ただし、これはクライアントのみの問題なので、使用しているサーバーのバージョンは関係ありません。すべての機能のうち、1つだけがサーバーのバージョンが1.5以上であることに依存します(そして1.4はかなり古くなっています。1.8の新しい機能は作業コピーのパフォーマンスを向上させますが、リビジョン1.8のサーバーはisnですサーバーのバージョンよりクライアントのバージョンの方がはるかに影響を受けます。
私はこれがあなたが望んだ答えではないことを知っています(サーバのバージョンを知るための公式な方法はありません)が、幸いなことにサーバのバージョンはそれほどあなたに影響を与えません。
Svn + ssh設定の場合は、sshを使用してホストマシン上でsvnserve --versionを実行します。
$ sshユーザー@ホストsvnserve --version
実際にサーバーとして機能しているマシン上でsvnserveコマンドを実行する必要があります。
SVNアドレスにアクセスするには、Webブラウザを使用するだけです。ソースコードを確認してください(Ctrl + U)そうすると、HTMLコードのようになります。
<svn version="1.6. ..." ...
Firefoxでリポジトリを閲覧し、 Firebug で要素を調べてください。 NETタブの下で、あなたはページのヘッダーをチェックすることができます。それは次のようになります。
Server: Apache/2.2.14 (Win32) DAV/2 SVN/1.X.X
Subversionサーバーに接続するには HTTP を使い、HTTPヘッダーでバージョン番号を見つけてください。
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サーバーでも動作することに注意してください。
管理者が 'svnadmin upgrade'を実行しない限り、リポジトリは自動的に更新されません。リポジトリのバージョン番号を確認するには、 'format'ファイルを確認してください。 @ bdumitriuのコメント を参照してください。