2011-09-19 2 views
1

커밋 할 때 트랜잭션 오류가 발생합니다. 이것들은 내가 아는 한 중반에 실패한 커밋의 결과이다. 가급적 TortoiseSVN과 같은 GUI를 사용하는 방법이 있습니까? 자동으로 실패한 커밋을 다시 시작하고 모든 것이 커밋 될 때까지 계속 재 시도합니다. 실패의Subversion 커밋에서 자동으로 재개 할 수있는 방법이 있습니까?

예 커밋 :

(세부 사항에 따라) 실패 커밋! '/ SVN/namcloud의 PUT를/SVN/WRK/02b0f9ff-2510-a147-892a-2ee0b7b442dc/SRC/sites/all/modules/globalredirect/LICENSE.txt ': 응답 본문을 읽을 수 없습니다 : 기존 연결이 원격 호스트에 의해 강제로 닫혔습니다.

+1

중복 : http://stackoverflow.com/questions/7137470/eclipse-restart-an-svn-import-from-where-it-left- off/7137625 # 7137625 – hsalimi

답변

3

전적으로 자동이 아니지만, TortoiseSVN ->Settings... ->Dialogs 2 ->Reopen commit and branch/tag dialog after a commit failed 체크 박스가 있습니다. 이렇게하면 성가심이 조금 줄어들어 로그 메시지가 자동으로 부활합니다.

"기존 연결이 원격 호스트에 의해 강제로 닫혔습니다"라는 메시지는 아마도 RST이 TCP/IP 연결을 통해 되돌아 오는 것을 나타냅니다. 이것은 당신과 원격 호스트 사이의 어떤 것이라도 생성 될 수 있습니다.

나는 Wireshark과 같은 것을 잡아서 즉시 명백한 것이 있는지 확인하고 싶습니다. (이런 종류의 진단은 익숙하지 않으면 까다 롭지 만 모두 똑같은 가치가 있습니다.)

A.H. 제안대로 서버 관리자에게 문의하십시오. 연결 시간 초과의 일부 증거가 웹 서버 또는 방화벽 로그에 나타날 수도 있고, 예를 들어 SSL 구성 지정.

2

SVN에서의 "트랜잭션"또는 "원자 커밋"은 정확히 전부 또는 아닙니다. 따라서 자동 번호 이력서이 없습니다. 당신이 할 수있는 모든 것은 처음부터 체크인을 시작하는 것입니다.

더 좋은 해결책은 적절한 서버 관리자와상의하여 원인을 조사하고 수정하는 것입니다. 증상을 치료하는 것은 결코 좋은 생각이 아닙니다.

+0

내 연결이 문제 일 수 있다고 생각합니다. – coderama

3

불행히도, 우리는 항상 우리가 사용하는 것을 선택하거나 서버 측에서 어떤 종류의 지원/관리를 할 수있는 것은 아닙니다.

"더 악의적 인"방법은 나무에있는 모든 파일을 모두 커밋하는 스크립트를 만드는 것입니다. 은 모두 성공할 때까지 계속해서 반복합니다.

큰 커밋에서 누군가는 100 개 이상의 거의 동일한 로그 메시지가 각 파일에 하나씩 있다는 것을 불평 할 수 있으며 커다란 RCS/CVS 커밋과 마찬가지로 사람들은 '업데이트'하고 '커밋과 마무리의 시작이지만, 당신은 당신이 가지고있는 문제와 당신이 가난한 관리와 지원에도 불구하고, 당신이해야 할'해결책 '에 대해 말할 수 있습니다.

특히 큰 파일 또는 특히 '불량'네트워크 문제의 경우 여전히 작동하지 않을 수 있습니다.

최악의 경우 프로젝트의 다른 모든 사람도 스크립트를 요청합니다.

아니면 누군가가 당신을 "불 수"있습니다. 그러나 목표 달성을위한 모든 노력을 망치는 일종의 환경에서 일하는 것보다 더 나은 결과 일 것입니다. 그런 다음 일을 완수하기위한 장애물을 극복하려고 할 때 '책임감'을 가지십시오.

2

TortoiseSVN을 -> 설정 ... -> 대화 상자 2 ->은 내가이 기능이 제거 된 생각

실패 커밋 후 커밋 브랜치/태그 대화 상자가 다시 엽니 다. TortoiseSVN 1.7.11에서이 옵션이 보이지 않습니다. 23600