SVN checksum mismatch 관련 에러 처리
.. 쩝 복잡 합니다 .. (SVN 1.6+ 버전부터 가능 - sqlite 를 사용하는 SVN 버전)
예 )
sha1 79779fe0c1d78bc7a59781ad3c6c95845e4fe18b.svn-base
SHA1 (79779fe0c1d78bc7a59781ad3c6c95845e4fe18b.svn-base) = 35d57f95785b3f95b85ae9e932908c623fd42c4c
해당 파일을 새로 ci 받은 후 교체
- sha1 값 찾기 :
- sqlite3 .svn/wc.db
- sqlite> select shecksum from NODES where local_relpath = '{patch}';
- 해당값에서 $sha1$ 을 제외한 값이 sha1 값
- ex) $sha1$79779fe0c1d78bc7a59781ad3c6c95845e4fe18b
- 해당 base 파일 찾기 :
- sha1 값의 앞 두자리 가 폴더명 입니다.
- ex) {path}/.svn/pristine/79/79779fe0c1d78bc7a59781ad3c6c95845e4fe18b.svn-base
- 해당 파일 sha1 확인
- sha1 {path}.svn/pristine/79/79779fe0c1d78bc7a59781ad3c6c95845e4fe18b.svn-base
- SHA1 (79779fe0c1d78bc7a59781ad3c6c95845e4fe18b.svn-base) = 35d57f95785b3f95b85ae9e932908c623fd42c4c
- 위와 같이.. svn에 저장되어 있는 체크섬값(빨강색)과.. sha1 체크하여 나온 체크섬값(파란색)이 다른 경우 만 다음 스탭으로 넘어가세요.. 같으면. 다른 방법을 찾아보도록 합니다.
- base 파일 덮어 쓰기
- 새로 co 받기 ( 작업 파일과 동일한 리비전을 가지고 와야 합니다.)
ex: svn -r{revision} {URL@REV}{patch} {new_path} - 새로 받은 경로에서 파일 새로 가져오기
cp {new_path}/.svn/pristine/79/79779fe0c1d78bc7a59781ad3c6c95845e4fe18b.svn-base {path}/.svn/pristine/79/
출처 : 맨땅에 해딩
SVN 1.7+ 에서 만 작동
- 문제되는 폴더로 이동
- 데이터 백업
-
svn update --set-depth empty( 파일이 삭제됨 - del ) -
svn update --set-depth infinity( 파일이 추가됨 - add )
출처 :
http://stackoverflow.com/questions/10352934/svn-checksum-mismatch-while-updating
굳굳!!
답글삭제