development

Subversion 서버 버전 번호를 찾는 방법은 무엇입니까?

big-blog 2020. 3. 18. 08:08
반응형

Subversion 서버 버전 번호를 찾는 방법은 무엇입니까?


서버에서 Subversion 1.5를 실행하고 있는지 알고 싶습니다.

어떻게 알 수 있습니까?

또한 내 SVN 클라이언트 버전 번호를 알고 있으면 좋을 것입니다. svn help도움이되지 않았습니다.

참고 : 프로젝트의 개정 번호 등을 원하지 않습니다 .이 질문은 Subversion 소프트웨어 자체에 관한 것입니다.


서브 버전 저장소의 버전을 찾으려면 다음을 수행 할 수 있습니다.

  1. 웹 및 페이지 하단의 저장소를 보면
    "Powered by Subversion 버전 1.5.2 (r32768)" 와 같이 표시 됩니다.
  2. 커맨드 라인에서 : <컬을 삽입하고, 여기에 하나의 라이너를 바르십시오>

표시되지 않으면 페이지의 소스를보십시오

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

서브 버전 CLIENT의 경우 :

svn --version

충분할 것이다


이 응답들을 병합합시다 :

REPOSITORY / SERVER (원래 질문)의 경우 :

Subversion 서버에 액세스 할 수있는 경우 :

  • 이전부터 대답 에 의해 마누엘 ,하여 SVN 서버에서 다음을 실행합니다 :

    svnadmin --version
    

HTTP / HTTPS에 액세스하는 경우 :

  • 브라우저를 통해 서버에 액세스 할 때는 "Powered by Subversion"라인을 참조하십시오.

  • 브라우저를 통해 저장소에 액세스 한 후 HTML 소스에 임베드 된 버전 문자열을 찾으십시오. elviejojaredjacobs의 이전 답변 에서 . 마찬가지로 ??에서 브라우저의 개발자 도구 (일반적으로 Ctrl+ Shift+ I)를 사용하여 전체 응답을 읽습니다. 이것은 인증서 및 권한 부여를 처리하는 가장 쉬운 (자동화되지 않은) 방법이기도합니다. 브라우저가이를 수행합니다.

  • 에서, 응답 태그 (다음은 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

이 답변을 완료하려면 편집하십시오

클라이언트의 경우 (원래 질문이 아님) :

svn --version

서버에서 : svnserve --version

svnserve 기반 구성의 경우 (svn : // 및 svn + xxx : //).

(완전성을 위해).


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

또 다른 옵션 : Firefox (14.0.1을 사용하고 있습니다)와 SVN 웹 인터페이스가있는 경우 :

  • 열기 도구 -> 웹 현상 제> 웹 콘솔 의 repo 페이지
  • 페이지 새로 고침
  • GET 라인을 클릭하십시오
  • 찾는 위치 응답 헤더의 상기 섹션 서버 : 라인

"SVN / 1.7.4"문자열 또는 이와 유사한 문자열이 있어야합니다. 다시 말하지만, 위에서 언급 한 "ServerTokens Full"이있는 경우에만 작동합니다.


서버에 접속하여 직접 확인하는 것 외에는 서버에서 실행중인 Subversion 버전을 쉽게 찾을 수있는 방법 이 없습니다 .

그러나 이것은 생각만큼 큰 문제가 아닐 수 있습니다. Subversion 클라이언트는 많은 작업을 처리했으며 대부분의 Subversion 클라이언트 버전은 거의 모든 버전의 서버에서 작동 할 수 있습니다.

서버 버전이 실제로 클라이언트와 차별화 된 마지막 릴리스는 병합 추적이 추가 될 때 릴리스 1.4에서 릴리스 1.5로 변경되었습니다. 병합 추적은 버전 1.6에서 크게 개선되었지만 클라이언트와 서버 간의 상호 작용에는 실제로 영향을 미치지 않습니다.

Subversion 1.8의 최신 변경 사항을 살펴 보겠습니다.

  • svn move이제는 일류 작업입니다 . Subversion은 svn moveis svn copya가 아니라는 것을 마침내 이해합니다 svn delete. 그러나 이것은 클라이언트가 처리하고 실제로 서버 버전에 영향을 미치지 않는 것입니다.
  • svn merge --reintegrate더 이상 사용되지 않음 : 서버의 버전이 1.5 이상이면 문제가되지 않습니다.
  • 속성 상속 : 이것은 또 다른 1.8 릴리스 업데이트이지만 모든 Subversion 서버에서 작동하지만 1.8을 실행하는 Subversion 서버는 상속 가능한 속성에서 더 나은 성능을 제공합니다.
  • 상속 가능한 두 가지 속성- svn:global-ignores그리고svn:auto-props : 아아! 우리가 정말로 원했던 것. Subversion 구성 파일 자체에 의존하지 않고이 두 속성을 설정하는 방법. 그러나 이것은 클라이언트 전용 문제이므로 사용중인 서버의 버전이 중요하지 않습니다.
  • gnu-agent 메모리 캐싱 : 다른 클라이언트 전용 기능.
  • fsfs 성능 향상 및 authz 리포지토리 인증. 멋진 기능이지만 사용중인 클라이언트 버전에 관계없이 작동합니다.

모든 기능 중 하나만 서버 버전 1.5 이상에 의존합니다 (1.4는 오래 사용되지 않습니다. 1.8의 새로운 기능은 작업 사본의 성능을 향상 시키지만 서버는 1.8 버전입니다. 필요하지 않습니다. 서버 버전보다 클라이언트 버전의 영향을 훨씬 더 많이받습니다.

나는 이것이 당신이 원하는 대답이 아니라는 것을 알고 있지만 (서버 버전을 보는 공식적인 방법은 없습니다), 다행히도 서버 버전은 그다지 큰 영향을 미치지 않습니다.


이 시도:

ssh your_user@your_server svnserve --version

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

도움이 되길 바랍니다.


svn + ssh 구성의 경우 ssh를 사용하여 호스트 시스템에서 svnserve --version을 실행하십시오.

$ ssh user @ host svnserve-버전

실제로 서버 역할을하는 시스템에서 svnserve 명령을 실행해야합니다.


웹 브라우저를 사용하여 SVN 주소로 이동하십시오. 소스 코드를 확인하십시오 ( Ctrl+ U). 그런 다음 HTML 코드와 같은 것을 찾을 수 있습니다.

<svn version="1.6. ..." ...

Firefox로 저장소를 찾아보고 Firebug로 요소를 검사하십시오 . NET 탭에서 페이지의 헤더를 확인할 수 있습니다. 그것은 다음과 같은 것을 가질 것입니다 :

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

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 서버에서도 작동합니다.


HTTP를 사용하여 Subversion 서버에 연결 하고 HTTP 헤더에서 버전 번호를 찾을 수 있습니다.


관리자가 'svnadmin upgrade'를 실행하지 않으면 저장소가 자동으로 업데이트되지 않습니다. 저장소의 버전 번호를 확인하려면 '형식'파일을 확인하십시오. @bdumitriu의 의견을 참조하십시오 .


명령 행에서 다음은 버전 번호를 제공해야합니다.

   svn --version

참고 URL : https://stackoverflow.com/questions/141146/how-to-find-my-subversion-server-version-number

반응형