IT

SVN- 업데이트 중 체크섬 불일치

lottoking 2020. 7. 17. 07:50
반응형

SVN- 업데이트 중 체크섬 불일치


Subversion에서 일부 파일을 업데이트하려고하면 오류가 발생합니다.

org.tigris.subversion.javahl.ClientException: 
Checksum mismatch while updating 'D:\WWW\Project\\.svn\text-base\import.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e'

왜 보상을 얻습니까? 어떻게 고칠 수 있습니까?


변경 사항이 많지 않은 경우이를 해결하는 가장 쉬운 방법은 변경 내용을 다른 디렉토리에 복사하고 프로젝트가 체크 아웃 된 디렉토리에 삭제 한 다음 프로젝트를 다시 체크 아웃하는 것입니다.

그런 다음 변경 사항을 다시 복사하고 (.svn 폴더를 복사하지 않고) 커밋하고 계속하십시오.


SVN 1.7 이상을 사용하는 경우 여기에 설명 된 해결 방법이 있습니다 .

간단히 요약하면 다음과 가변합니다.

  1. 문제가 해결 파일이있는 폴더로 이동
  2. 명령 실행 svn update --set-depth empty(참고 : 이렇게하면 파일이 삭제 된 파일을 만드십시오!)
  3. 실행 명령 svn update --set-depth infinity

나는 내가 문제가 있었다. 주요 공급자는 바이러스 백신 "FortiClient"(바이러스 백신 + VPN CLient)입니다. 할인 때-모든 업데이트 / 체크 아웃이 사용되었습니다.


이 문제를 해결하는 더 쉬운 방법을 찾았습니다. 이클립스에서 직접 할 수는 없습니다. 단계 :

  1. Windows에서 작업 공간 폴더 구조로 이동
  2. 폴더 이름
  3. 일식으로 새로 고침
  4. 이제 폴더와 파일이 일식에서 프로젝트에서 제거되고 이름이 바뀐 새 폴더 아래에 나타납니다.
  5. 이제 "Respository와 동기화"옵션을 시도하십시오.

.svnfolder에 텍스트 기본 폴더가 복원됩니다. 업데이트 오류 중 체크섬 불일치가 더 이상 유행합니다.


이 Eclipse 플러그인과 동기화를 사용하여 나에게 발생했습니다. 원격 변경 사항이 없었습니다. 파일에 대한 다른 수정없이 파일에 "복귀"를 선택 항목 항목이 정상으로 돌아 왔습니다.


하나의 파일에 대해 동일한 오류가 발생했습니다. IntelliJ에서 파일의 사본을 만든 다음 프로젝트로 이동하여 문제의 파일을 삭제 한 다음으로 커밋 할 수 있습니다. 그런 다음 같은 이름의 새 파일을 만든 내용을 다시 복사했습니다. 개정 기록을 잃어 버릴 것 같지만 작동합니다.


동료와 함께 일하는 경우 :

1) 문제를 교체 파일의 이름을 바꾸도록 요청하십시오. commit

2) 당신 update(이제 당신은 유효하지 않은 체크섬을 가진 파일을 본다)

3) 원래 이름으로 다시 이름을 바꿉니다.

4) commit(그리고 update파일 이름을 초기 상태로 되돌 리 동료에게 요청하십시오 )

이것은 나를 위해 문제를 해결했습니다.


나는 아주 좋은 해결책을 찾았습니다 . 그것은 나의 문제 해결 했다. 트릭은 svn DB (wc.db)를 편집하는 것입니다.

해결은이 페이지에 설명되어 있습니다 : http://www.exchangeconcept.com/2015/01/svn-e155037-previous-operation-has-not-finished-run-cleanup-if-it-was-was-interrupted /

링크가 다운 된 경우 다음 지침을보고하십시오. 여기에 이미지 설명을 입력하십시오

http://sqlitebrowser.org/의 sqlite 도구를 사용했습니다 .


이 페이지의 모든 솔루션을 처리하고 작동하지 않는 Tortoise SVN을 사용하고 있습니다.

마침내 문제 파일을 백업합니다. 사용은 Repo Browser로컬 폴더에있는 파일이 삭제되도록 다음 로컬 폴더를 업데이트, 거기에 문제가있는 파일을 삭제합니다. 그런 다음 백업 파일 및을 다시 복사하면 Add > Commit성공적으로 업데이트 할 수 있습니다.

이 방법의 유일한 단점은이 파일의 기록이 제거된다는 것입니다.


이 문제를 해결하려면 다음 단계를 따르십시오.

  1. 오류가 발생한 .svn 디렉토리에있는 항목 파일을 엽니 다.
  2. 오류를 제공하는 파일에 대한 항목을 찾고 예상 값을 오류가있는 실제 값으로 바꿉니다.
  3. 이제 동기화하고 업데이트하십시오.

여전히 작동하지 않는 경우. 이것을 시도하십시오. 그래도 해결 방법은 다음과 같습니다.

  1. 시스템에서 파일을 삭제하십시오.
  2. 항목 파일에서 파일 항목을 삭제하십시오. (파일 이름부터 특수 문자까지).
  3. 이제 파일을 동기화하고 업데이트하십시오.

이것은 저장소에서 최신 버전의 파일을 가져오고 모든 충돌이 해결됩니다.


서버에서 비슷한 문제가 있었지만 SVN 디렉토리가 매우 커서 삭제 및 재 동기화를 원하지 않았기 때문에 파일을 로컬로 복사 한 다음 삭제했습니다. 업데이트가 성공하고 파일을 다시 추가했을 때.


파일을 삭제하고 .svn 디렉토리의 파일 항목에서 파일 참조를 제거하십시오.


비슷한 오류가 발생하여 다음과 같이 수정되었습니다.

(내 '수정'은 Subversion이 내부적으로 어떻게 작동하는지 잘 모르기 때문에 정확할 수도 있고 아닐 수도 있다는 가정을 기반으로하지만 확실히 저에게 효과적이었습니다)

.svn \ text-base \ import.php.svn-base가 최신 커밋과 일치 할 것으로 예상됩니다.

에서 오류가 발생한 파일을 확인했을 때 기본 파일이 저장소의 최신 커밋과 일치하지 않았습니다.

최신 커밋에서 텍스트를 복사하여 .svn 폴더에 저장하여 잘못된 파일을 대체했습니다 (내 가정이 잘못한 경우에는 복제 사본을 만들었습니다). (파일은 읽기 전용으로 표시되어 있고 플래그를 지우고 읽고 읽기 전용으로 다시 설정했습니다)

그런 다음 다음으로 커밋 할 수 있습니다.


내 해결은 다음과 달라집니다.

  1. 파일 시스템에서 svn 정리 실행
  2. 다른 지점으로 전환
  3. 갈등 해결
  4. "문제가있는"분기로 전환
  5. Spring Tool Suite에서 정리 실행
  6. 프로젝트 업데이트 실행

1. '버전으로 업데이트'디렉토리에서 '이 항목 만'확인 2. '완전 재귀'확인 다시 업데이트

참고 URL : https://stackoverflow.com/questions/10352934/svn-checksum-mismatch-while-updating

반응형