サーバーでSubversion 1.5が実行されているかどうかを知りたい。
どうすればそれを見つけることができますか?
また、SVNクライアントのバージョン番号を知っておくと便利です。svn help
役に立っていません。
注:プロジェクトのリビジョン番号などは必要ありません。この質問は、Subversionソフトウェア自体に関するものです。
サーバーでSubversion 1.5が実行されているかどうかを知りたい。
どうすればそれを見つけることができますか?
また、SVNクライアントのバージョン番号を知っておくと便利です。svn help
役に立っていません。
注:プロジェクトのリビジョン番号などは必要ありません。この質問は、Subversionソフトウェア自体に関するものです。
回答:
subversion REPOSITORYのバージョンを確認するには、次の方法があります。
表示されない場合は、ページのソースを表示します
<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/">
次に、Subversion CLIENTの場合:
svn --version
十分であろう
svn://
。使用しているサーバーが-only であるため、それ以外の場合、回答は役に立ちませんでした。
これらの応答をマージしましょう:
ブラウザ経由でサーバーにアクセスする場合は、「powered by Subversion」の行を参照してください。
ブラウザ経由でリポジトリにアクセスし、HTMLソースに埋め込まれたバージョン文字列を探します。elviejoとjaredjacobs による以前の回答から。同様に、??から、ブラウザーの開発者ツール(通常はCtrl+ Shift+ I)を使用して完全な応答を読み取ります。これは、証明書と承認を処理する最も簡単な(自動化されていない)方法でもあります。ブラウザが代行してくれます。
Christopherによる以前の回答からの応答タグ(これらはHTMLソースには表示されません)を確認します
wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 |
sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p'
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 --version
svnserveベースの構成の場合(svn://およびsvn + xxx://)。
(完全を期すため)。
svnserve
クライアントプログラムではなく、サーバーです。そして、サーバーにいるときは、上記のコマンドを入力する必要があります。
SVNサーバーのバージョンを取得する最も簡単な方法は次のとおりです。SVNリポジトリにHTTPSが必要な場合でも、HTTPは機能します。
$ curl -X OPTIONS http:// my-svn-domain / <!DOCTYPE HTML PUBLIC "-// IETF // DTD HTML 2.0 // EN"> <html> <head> ... </ head> <ボディ> ... <address> Apache / 2.2.11(Debian)DAV / 2 SVN / 1.5.6 PHP / 5.2.9-4 ... </ address> </ body>
</ html>
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';
--no-check--certificate
、パラメータを--user
して--password
資格情報を必要とするが、有効なSSH証明書を持っていないハンドルサーバに。ご指摘のとおり、これはかなり一般的です。
もう1つのオプション:Firefox(私は14.0.1を使用しています)とSVN Webインターフェイスがある場合:
「SVN / 1.7.4」などの文字列がそこにあるはずです。繰り返しますが、これはおそらく、上記の「ServerTokens Full」がある場合にのみ機能します。
サーバーが実行している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のサーバーは必要ありません。サーバーのバージョンよりもクライアントのバージョンの影響を大きく受けます。
私はこれがあなたが望んだ答えではないことを知っています(サーバーバージョンを確認する公式な方法はありません)。
svn + ssh構成の場合、sshを使用してホストマシンでsvnserve --versionを実行します。
$ ssh user @ host svnserve --version
実際にサーバーとして機能しているマシンでsvnserveコマンドを実行する必要があります。
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サーバーでも機能することに注意してください。
VisualSVNサーバーを使用している場合は、いくつかの方法でバージョン番号を確認できます。
次の手順に従って、管理コンソールからバージョンを確認します。
[ バージョン ]をクリックすると、コンポーネントのバージョンも表示されます。
次の手順に従って、readme.txtファイルからバージョンを確認します。
コマンドラインで次のようにすると、バージョン番号が表示されます
svn --version
svn help
2つのダッシュで始まるパラメータがリストされていなかったため、役に立ちませんでした。私のSVNバージョンを探しているときにGoogle経由であなたの投稿を見つけました。
管理者が「svnadmin upgrade」を実行しない限り、リポジトリは自動的に更新されません。リポジトリのバージョン番号を確認するには、「フォーマット」ファイルを確認してください。@bdumitriuのコメントを参照してください。