· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Subversion Book/Troubleshooting

Troubleshooting

Appendix A. Troubleshooting


A.1. 자주 있는 문제

Subversion의 인스톨시나 이용시에는 여러가지 문제가 일어나는 일도 있어 . 그 중의 몇개인가는, Subversion 가 모든 것을 어떻게 취급할까에 붙은 좀 더 명료한 이미지를 이해하면 해결합니다. 한편, 다른 문제는 다른 버전 콘트롤 시스템에서의 방법을 사용하려 하고 있는 것에 의해 시초 . 게다가 다른 문제는, Subversion 를 실행 있는, 몇개의 오페레이틴 그시스템상에서의 해결 불능인 버그에 의할지도 모릅니다. (Subversion 가 실행되고 있는 광범위의 OS를 생각하면(자), 좀 더 많은 문제가 일어나지 않는 편이 놀라야 할 일입니다).

이하의 리스트는, Subversion 를 몇년이나 이용하는 동안에 축적되어 온 것으로, Subversion 로 우연히 만나는 매우 잘 일어나는 문제에 대한 보고 접하고 있습니다 Subversion의 빌드, 인스톨, 이용에 관계되어입니다. 만약 여기에 쓰여졌다 문제에 들어맞지 않는지, 우리가 추천 하는 모든 방법을 시험해도 잘 되지 않았던 경우는, 에 메일을 보내, 문제의 상세한 것에 대하여의 설명을 붙여 주세요. [1]

Subversion 사용상의 문제

  • 저장소(repository)에 액세스 하려고 할 때, svn 가 헹 합니다.

  • svn를 실행하려고 할 때, 자신의 작업 카피는 락 되고 있다고 말해집니다.

  • 저장소(repository)를 찾거나 열려고 하면(자) 에러가 나옵니다. 그렇지만 입력한 URL 는 올바른 것입니다.

  • file:// URL 중에서 Windows 의 드라이브 문자를 지정하기에는 어떻게 하면 좋습니까?

  • 네트워크 넘어로 Subversion 저장소(repository)에 기입해 조작하려고 그러자(면) 에러가 됩니다.

  • Windows XP 로, Subversion 서버가 가끔 망가진 데이터를 송신하는 것처럼 보입니다.

  • Subversion 클라이언트와 서버와의 사이의 네트워크상의 교환을 트레이스 하는 최선의 방법은?

Subversion 빌드시의 문제

  • 배포 패키지의 바이너리를 만들어, Subversion 를 체크아웃 하려고 하면(자),"인식할 수 없는 URL schema" 이다고 말해졌습니다.

  • configure를 실행하면(자), subs-1.sed line 38: Unterminated `s' command와 같은 에러가 되었습니다.

  • Windows로, MSVC++ 6.0을 사용해 Subversion를 컴파일 하려고 하면(자) 문제가 일어났습니다.


A.1.1. Subversion 이용시의 문제


A.1.1.1. 저장소(repository)에 액세스 하려고 할 때, Subversion 클라이언트가 헹 합니다.

Subversion 는 Berkeley DB 를 사용하고 있어, 그것은 당신의 데이터를 복수의 데이타베이스 파일에 격납합니다. Berkeley DB 는 쟈나링시스템으로, 그것은 실제로 동작을 일으키기 직전에 모든 동작을 기록하는 것을 의미합니다. 만약 당신의 클라이언트가 데이타베이스와 통신중에 중단되었을 경우, 미완료의 동작을 나타내는 로그 파일과 락 파일이 데이타베이스안에 남아 버립니다.

다른 모든 클라이언트로 데이타베이스에 액세스 하려고 하고 있다 물건은, 락 파일이 사라지는 것을 기다리기 (위해)때문에, 단지 헹 합니다. 당신의 저장소(repository)를 부활시키려면 , Berkeley DB 에 처리를 종료하도록(듯이) 요구하는지, 모순이 없는 전 상태에까지, 데이타베이스를 되돌릴까 한다 필요가 있습니다. 이렇게 하려면 , 이하의 커멘드를 Subversion 저장소(repository)의 어느 머신상에서 실행해 주세요:

          
$ svnadmin recover /path/to/repos
          

이것을 실행하기 전에, 저장소(repository)에 대한 모든 액세스를 금지하는 것을 잊지 말아 주세요(httpd 나, svnserve를 슛다운 합니다). 이 커멘드를 데이타베이스를 소유해, 관리하고 있는 유저 그리고 실행하는 것을 확인해 주세요. 루트에서는 실행하지 말아줘 주세요. 루트로 실행하면(자), 루트가 소유하는 파일이 db/ 에 남아 버려, 데이타베이스를 관리한다 루트 이외의 유저에 의해 열지 않게 되어 버립니다. 보통 이 유저로서는, 당신의 어카운트인가, Apache httpd 프로세스의 어카운트가 됩니다.


A.1.1.2. svn를 실행하려고, 항상 자신의 작업 카피가 락 되고 있다고 말해집니다.

Subversion 의 작업 카피는, Berkeley DB와 같이 모든 동작을 실행하는데 쟈나링의 구조를 사용하고 있습니다. 즉, 무엇인가를 하기 전에, 하려 하고 있는 것 모든 것을 로그에 기록합니다. svn 가 동작의 실행중에 중단되었을 경우, 하나 이상의 락 파일이, 그 때의 미완료의 로그 파일과 함께 남아 버립니다. (svn status 는, 락 된 디렉토리의 옆에L 문자를 표시해 이것을 나타냅니다. )

작업 카피에 액세스 하려고 하는 것 외의 모든 프로세스는 락을 당하면(자) 실패합니다. 작업 카피를 한번 더 정상적으로 되돌리려면 , svn 클라이언트에 그 작업을 끝내도록(듯이) 명령합니다. 이것에는, 이하의 커멘드를 작업 카피의 최상정도 디렉토리에서 실행 해 주세요:

$ svn cleanup working-copy
          

A.1.1.5. 네트워크 넘어로 Subversion 저장소(repository)에 기입해 조작하려고 그러자(면) 에러가 됩니다.

만약 임포트가 로컬 액세스로 잘 동작하는데:

$ mkdir test
$ touch test/testfile
$ svn import test file:///var/svn/test -m "Initial import"
Adding         test/testfile
Transmitting file data .
Committed revision 1.
          

리모트 호스트라면 동작하지 않는 경우:

$ svn import test http://svn.red-bean.com/test -m "Initial import"
harry's password: xxxxxxx

svn_error: #21110 : 

The specified activity does not exist.
          

httpd 프로세스에 의해,REPOS/dav/ 디렉토리에 기입할 수가 없는 경우, 이러한 일이 일어납니다. 퍼미션 (을)를 체크해, Apache 의 httpd 가dav/디렉토리 에 기입할 수가 있는 것을 확인해 주세요(그리고, 이것에 대응한다 db/ 디렉토리에 대해서도, 물론).


A.1.1.6. Windows XP 로, Subversion 서버가 가끔 망가진 데이터를 송신하는 것처럼 보입니다.

Windows XP 의 서비스 팩 1 을 인스톨 할 필요가 있습니다. 서비스 팩에 관한 모든 정보는 http://support.microsoft.com/default.aspx? scid=kb;EN-US;q317949 에 상세가 있습니다.


A.1.1.7. Subversion 클라이언트와 서버와의 사이의 네트워크상의 교환을 트레이스 하는 최선의 방법은?

교환을 도청하는데, Ethereal 를 사용해 주세요:

Note: 이하의 순서는 그래픽 버전의 Ethereal 에 특화한 것으로, 커멘드 라인의 버전에는 들어맞지 않습니다(그러한 바이너리는 보통tethereal 라는 이름이 되어 있습니다).

  • capther 메뉴로부터, 개시를 선택합니다.

  • 필터에 포토 80을 입력해, 프로미스 앙금 모드를 무효로 합니다.

  • Subversion 클라이언트를 실행합니다.

  • 스톱 버튼을 누릅니다. 이것으로 패킷을 포착할 수 있었습니다. 그것은 많은 행의 및 됩니다.

  • 줄서 바꾸기 위해서(때문에), 프로토콜의 칼럼을 클릭합니다.

  • 그리고, 관련한 최초의 TCP의 행으로 클릭해 선택 합니다.

  • 오른쪽 클릭해, 계속하는 TCP 시냇물을 선택합니다. Subversion 클라이언트의 HTTP의 교환을 나타낸다, 요구/응답의 조 하지만 표시됩니다.

혹은, http-debug 인수를 서버 설정 파일로 설정해, svn 클라이언트 실행 때에 neon의 디버그 출력이 보이도록(듯이) 합니다. neon-debug의 수치는 ne_utils.h헤더 파일의 NE_DBG_* 치의 편성입니다. http-debug 를 130으로 설정하면(자)(즉, NE_DBG_HTTP + NE_DBG_HTTPBODY) HTTP 데이터가 표시 됩니다.

네트워크 트레이스중에는 압축을 무효로 하고 싶을지도 모릅니다. 설정 파일중의 압축 파라미터를 봐 주세요.


A.1.2. Subversion 빌드시의 문제


A.1.2.1. 배포 패키지의 바이너리를 만들어, Subversion 를 체크아웃 하려고 하면(자),"인식할 수 없는 URL schema" 이다고 말해졌습니다.

Subversion 는 저장소(repository)에 대한 액세스의 허가에, 플러그 인 시스템을 이용하고 있습니다. 현시점에서는, 세 개의 플러그 인이 있습니다: ra_local 는 로컬 저장소(repository)에 액세스 하기 위해서, ra_dav 는 WebDAV 경유로 저장소(repository)에 액세스 하기 위해서, 그리고ra_svn는 svnserve 서버 경유로 로컬 또는 리모트의 저장소(repository)에 액세스 하기 위해서 이용합니다. Subversion 로 어느 조작을 실행하려고 하면(자), 클라이언트는 URL schema에 의거했다 플러그 인을 동적으로 로드하려고 합니다. file:// URL는,ra_local (을)를 로드하려고 해,http:// URL 는 ra_dav (을)를 로드하려고 해, 등입니다.

당신의 에러는 다이나믹 링커/로더가 로드하려고 한다 플러그 인을 찾아낼 수가 없었던 것을 의미하고 있습니다. 이것은 보통 공유 라이브러리와 함께 Subversion를 빌드 해, 최초로 make install'를 실행하지 않고 Subversion를 이용하자 (으)로 했을 때에 일어납니다. 다른 가능성으로서는, make install 는 실행 했지만, 다이나믹 링커/로더가 인식할 수 없는 장소 에 라이브러리를 인스톨 해 버린 것등을 생각됩니다. Linux 의 경우, 링커/로더가 라이브러리를 찾아낼 수가 있다 같게 하기 위해서, 라이브러리의 디렉토리를 /etc/ld.so.conf에 추가하고 나서 ldconfig를 실행하면 잘됩니다. 이것을 하고 싶지 않은지, root 의 액세스권한을 가지고 있지 않으면, LD_LIBRARY_PATH 환경 변수에 라이브러리 디렉토리 (을)를 지정할 수도 있습니다.


A.1.2.2. configure를 실행하면(자), subs-1.sed line 38: Unterminated `s' command와 같은 에러가 되었습니다.

아마, 시스템상의 /usr/local/bin/apr-config/usr/local/bin/apu-config 가 낡은 것이 되어 있습니다. 그 둘을 삭제해, 빌드 하려고 하고 있다 apr/apr-util/가 최신인 것을 확인한 다음, 재실행해 주세요.


A.1.2.3. Windows로, MSVC++ 6.0을 사용해 Subversion를 컴파일 하려고 하면(자) 문제가 일어났습니다.

최신의 플랫폼 SDK가 필요합니다. VC++ 6.0 에 부속의 것은 너무 새로운 것으로는 없습니다.

Notes

[1]

설정과 문제에 대해 당신이 준비하는 상세 정보의 양은, 메일링리스트로부터 받을 수가 있을지도 모르는 회답의 올바름에 직접 비례하는 것에 주의 (이)라고 주세요. 모두에 임해서, 그야말로 오늘의 아침무엇을 먹어, 모친의 메이드의 이름은 무엇인가 말하는 것까지 써 주면(자) 살아납니다.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2004-01-07 21:44:16
Processing time 0.0044 sec