Svn 如何找到我的Subversion服务器版本号?
我想知道我的服务器是否运行Subversion 1.5 我怎么才能知道呢 也很高兴知道我的SVN客户端版本号<代码>svn帮助没有任何帮助Svn 如何找到我的Subversion服务器版本号?,svn,Svn,我想知道我的服务器是否运行Subversion 1.5 我怎么才能知道呢 也很高兴知道我的SVN客户端版本号svn帮助没有任何帮助 注意:我不想要我的项目的修订号等。这个问题是关于Subversion软件本身的。对于基于HTTP的服务器,有一个Python脚本可以在以下位置找到服务器版本: 您可以使用 `svn --version` 在服务器上:svnserve--version 如果是基于svn服务的配置(svn://和svn+xxx://) (完整性)。要查找subversion存储库的
注意:我不想要我的项目的修订号等。这个问题是关于Subversion软件本身的。对于基于HTTP的服务器,有一个Python脚本可以在以下位置找到服务器版本: 您可以使用
`svn --version`
在服务器上:
svnserve--version
如果是基于svn服务的配置(svn://和svn+xxx://)
(完整性)。要查找subversion存储库的版本,您可以:
“由Subversion版本1.5.2(r32768)提供支持。”
<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/">
就足够了以下是获取SVN服务器版本的最简单方法。即使您的SVN存储库需要,也能正常工作 $curl-X选项http://my-svn-domain/ ... ... Apache/2.2.11(Debian)DAV/2 SVN/1.5.6 PHP/5.2.9-4。。。
对于svn+ssh配置,请使用ssh在主机上运行svnserve--version: $sshuser@hostSVN服务--版本
有必要在实际用作服务器的计算机上运行svnserve命令。您可以使用连接到Subversion服务器,并在HTTP头中找到版本号。如果Subversion服务器版本未打印在HTML列表中,则可在服务器返回的HTTP响应头中找到。您可以使用这个shell命令获取它
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';
只需使用web浏览器转到SVN地址。检查源代码(Ctrl+U)。然后,您将在HTML代码中找到类似的内容:
<svn version="1.6. ..." ...
让我们合并这些响应:
对于存储库/服务器(原始问题):
如果能够访问Subversion服务器:
- 从以前的by中,在SVN服务器上运行以下操作:
svnadmin --version
如果HTTP/HTTPS访问:
- 通过浏览器访问服务器时,请参阅“由Subversion供电”一行
- 通过浏览器访问存储库,然后查找嵌入HTML源中的版本字符串。来自和。类似地,从???开始,使用浏览器的开发人员工具(通常为Ctrl+Shift+I)读取完整响应。这也是处理证书和授权的最简单(非自动)的方法—您的浏览器会为您完成这项工作
- 检查响应标记(这些标记未显示在HTML源代码中),从
如果svn://或ssh+svn访问
- 由
- 由
如果谷歌代码SVN服务器
如果另一个自定义SVN服务器
请编辑以完成此答案
对于客户(不是原始问题):
使用Firefox浏览存储库并使用检查元素。在“网络”选项卡下,您可以检查页面的标题。它将有如下内容:
Server: Apache/2.2.14 (Win32) DAV/2 SVN/1.X.X
还有一个选项:如果您有Firefox(我使用的是14.0.1)和SVN web界面:
- 在回购页面上打开工具->Web开发者->Web控制台
- 刷新页面
- 单击获取行
- 查看服务器:行的响应标题部分
应该有一个“SVN/1.7.4”字符串或类似的字符串。同样,这可能只适用于上面提到的“ServerTokens Full”(服务器令牌已满)。对于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服务器。要了解您的服务器正在运行哪个版本的Subversion,确实没有一种简单的方法,除了进入服务器亲自查看
然而,这并不像你想象的那么大问题。Subversion客户端需要处理大量的grunt工作,并且大多数版本的Subversion客户端可以处理几乎任何版本的服务器
在上一个版本中,服务器版本确实对客户端产生了影响,这是在添加合并跟踪时从1.4版更改为1.5版。合并跟踪在版本1.6中得到了极大的改进,但这并没有真正影响客户机和服务器之间的交互
让我们看一下Subversion 1.8的最新更改:
svn move
现在是一种一流的操作:Subversion终于明白了svn move
不是svn copy
和svn delete
。但是,这是客户机处理的事情,并不真正影响服务器版本
svn merge--重新整合已弃用的:同样,只要服务器版本为1.5或更高版本,这不是问题
- 属性继承:这是另一个1.8版本的更新,但这将适用于任何Subversion服务器——尽管运行1.8的Subversion服务器将在可继承属性上提供更好的性能
- 两个新的可继承属性-
svn:global ignores
和svn:auto-props
:唉!我们真正想要的。在不依赖Subversion配置文件本身的情况下设置这两个属性的方法。但是,这是一个只针对客户端的问题,所以您使用的服务器版本也无关紧要
- gnu代理内存缓存:另一个仅限客户端的功能
- fsfs性能增强和authz in repository authentica
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
Server: Apache/2.2.14 (Win32) DAV/2 SVN/1.X.X
$ 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
ssh your_user@your_server svnserve --version
svnserve, version 1.3.1 (r19032)
compiled May 8 2006, 07:38:44