답변:
Subversion REPOSITORY의 버전을 찾으려면 다음을 수행 할 수 있습니다.
표시되지 않으면 페이지의 소스를보십시오
<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/">
이제 서브 버전 CLIENT의 경우 :
svn --version
충분할 것이다
svn://
.
이 응답들을 병합합시다 :
브라우저를 통해 서버에 액세스 할 때는 "Powered by Subversion"라인을 참조하십시오.
브라우저를 통해 저장소에 액세스 한 후 HTML 소스에 임베드 된 버전 문자열을 찾으십시오. elviejo 와 jaredjacobs의 이전 답변 에서 . 마찬가지로 ??에서 브라우저의 개발자 도구 (일반적으로 Ctrl+ Shift+ I)를 사용하여 전체 응답을 읽습니다. 이것은 인증서 및 인증을 처리하는 가장 쉬운 (자동화되지 않은) 방법이기도합니다. 브라우저가이를 수행합니다.
에서, 응답 태그 (다음은 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 --version
svnserve 기반 구성의 경우 (svn : // 및 svn + xxx : //).
(완전성을 위해).
svnserve
클라이언트 프로그램이 아니라 서버입니다. 그리고 서버에있을 때 위의 명령을 입력해야합니다.
SVN 서버 버전을 얻는 가장 간단한 방법은 다음과 같습니다. SVN 저장소에 HTTPS 가 필요한 경우에도 HTTP가 작동합니다 .
$ curl -X 옵션 http : // my-svn-domain / <! DOCTYPE HTML PUBLIC "-// IETF // DTD HTML 2.0 // EN"> <html> <head> ... </ head> <본문> ... <address> 아파치 /2.2.11 (데비안) DAV / 2 SVN / 1.5.6 PHP / 5.2.9-4 ... </ address> </ body>
</ html>
HTTP 기반 서버의 경우 http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py에 서버 버전을 찾는 Python 스크립트가 있습니다 .
당신은 클라이언트 버전을 얻을 수 있습니다
`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 인증서가없는 핸들 서버를. 당신이 지적한 것처럼 이것은 매우 일반적입니다.
또 다른 옵션 : Firefox (14.0.1을 사용하고 있습니다)와 SVN 웹 인터페이스가있는 경우 :
"SVN / 1.7.4"문자열 또는 이와 유사한 문자열이 있어야합니다. 다시 말하지만, 위에서 언급 한 "ServerTokens Full"이있는 경우에만 작동합니다.
실제로 서버에 접속하여 직접 확인하는 것 외에는 서버에서 실행중인 Subversion 버전을 쉽게 찾을 수있는 방법 이 없습니다 .
그러나 이것은 생각만큼 큰 문제가 아닐 수 있습니다. Subversion 클라이언트는 많은 작업이 처리되었으며 대부분의 Subversion 클라이언트는 거의 모든 버전의 서버에서 작동 할 수 있습니다.
서버 버전이 실제로 클라이언트와 차별화 된 마지막 릴리스는 병합 추적이 추가 될 때 릴리스 1.4에서 릴리스 1.5로 변경되었습니다. 병합 추적은 버전 1.6에서 크게 개선되었지만 클라이언트와 서버 간의 상호 작용에는 실제로 영향을 미치지 않습니다.
Subversion 1.8의 최신 변경 사항을 살펴 보겠습니다.
svn move
이제는 일류 작업입니다 . Subversion은 svn move
is svn copy
및 a가 아니라는 것을 마침내 이해합니다 svn delete
. 그러나 이것은 클라이언트가 처리하며 실제로 서버 버전에 영향을 미치지 않습니다.svn merge --reintegrate
더 이상 사용되지 않음 : 서버의 버전이 1.5 이상이면 문제가되지 않습니다.svn:global-ignores
그리고svn:auto-props
: 아아! 우리가 정말로 원했던 것. Subversion 구성 파일 자체에 의존하지 않고이 두 속성을 설정하는 방법. 그러나 이것은 클라이언트 전용 문제이므로 사용중인 서버의 버전이 중요하지 않습니다.모든 기능 중 하나만 서버 버전 1.5 이상에 의존합니다 (1.4는 오래 사용되지 않습니다. 1.8의 새로운 기능은 작업 사본의 성능을 향상 시키지만 서버는 1.8 버전입니다. 필요하지 않습니다. 서버 버전보다 클라이언트 버전의 영향을 훨씬 더 많이받습니다.
나는 이것이 당신이 원하는 대답이 아니라는 것을 알고 있습니다 (공식적인 버전은 서버 버전을 볼 수 없습니다). 그러나 다행히도 서버 버전은 그다지 큰 영향을 미치지 않습니다.
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 Server를 사용하는 경우 몇 가지 다른 방법으로 버전 번호를 찾을 수 있습니다.
다음 단계에 따라 관리 콘솔을 통해 버전을 찾으십시오.
버전 을 클릭 하면 구성 요소의 버전도 표시됩니다.
readme.txt 파일에서 버전을 찾으려면 다음 단계를 수행하십시오.
명령 행에서 다음은 버전 번호를 제공해야합니다.
svn --version
svn help
두 개의 대시로 시작하는 매개 변수를 나열하지 않았으므로 도움이되지 않았습니다. 내 svn 버전을 찾을 때 Google을 통해 게시물을 찾았습니다.
관리자가 'svnadmin upgrade'를 실행하지 않으면 저장소가 자동으로 업데이트되지 않습니다. 저장소의 버전 번호를 확인하려면 '형식'파일을 확인하십시오. @bdumitriu의 의견을 참조하십시오 .