내가 할 때이 오류가 발생합니다 svn update
:
작업 복사본 XXXXXXXX 잠김 "정리"명령을 실행하십시오
정리를 실행하면
정리에서 다음 경로를 처리하지 못했습니다 : XXXXXXXX
이 루프에서 벗어나려면 어떻게해야합니까?
내가 할 때이 오류가 발생합니다 svn update
:
작업 복사본 XXXXXXXX 잠김 "정리"명령을 실행하십시오
정리를 실행하면
정리에서 다음 경로를 처리하지 못했습니다 : XXXXXXXX
이 루프에서 벗어나려면 어떻게해야합니까?
답변:
한 가지 방법은 다음과 같습니다.
다른 옵션은 최상위 폴더를 삭제하고 다시 체크 아웃하는 것입니다. 희망적으로 그것은 오지 않습니다.
나를 위해, 트릭은 svn cleanup
문제가 발생하기 전에 전체 시간 동안 일했던 폴더가 아닌 작업 복사본의 맨 위에서 실행 하는 것이 었습니다.
당신의 모습 .svn
이라는 폴더에이 파일이있을 것이다 lock
. 해당 파일을 삭제하면 업데이트 할 수 있습니다. .svn
각 서브 디렉토리의 디렉토리에 더 많은 잠금 파일이있을 수 있습니다 . 또한 삭제해야합니다. 이것은 예를 들어 다음과 같이 명령 줄에서 일괄 처리로 수행 할 수 있습니다.
find . -name 'lock' -exec rm -v {} \;
.svn
폴더 에서 파일을 수동으로 편집하고 있습니다 . 그들은 이유가 있습니다. 그 이유는 실수 일 수도 있지만 그렇지 않은 경우 로컬 사본을 손상시킬 수 있습니다.
find . | grep ".svn/lock" | xargs rm
필자의 경우 WC_LOCK 테이블에서 SQLite ".svn \ wc"파일 잠금 레코드의 레코드를 수동으로 삭제하여 문제를 해결했습니다.
SQLite 편집기로 "WC"파일을 열고 실행했습니다.
delete from WC_LOCK
eakkas 의 의견에 따라 WORK_QUEUE
테이블 에서 모든 항목을 삭제해야 할 수도 있습니다.
가장 쉬운 방법 :
Clean up working copy status
, Break locks
, Fix time stamps
, Vacuum pristine copies
, Refresh shell overlays
,Include externals
일을 성공적으로 마쳤습니다.
참조 용 스크린 샷을 확인하십시오.
첫 번째 단계:
두 번째 단계 : 잠금 잠금 옵션 활성화 (정리 팝업 창의 두 번째 확인란)
이것이 당신에게 많은 도움이되기를 바랍니다.
직장 동료는이 메시지를 지속적으로보고 있으며, SVN에서 SVN 버전 관리에서 디렉토리 를 삭제 하지 않고 디렉토리 를 삭제 한 후 버전 제어가 아닌 동일한 이름으로 새 디렉토리를 작성 했기 때문 입니다.
이것이 당신의 문제라면 ... :
디렉토리 교체 방법 / 이유에 따라 여러 가지 방법으로 문제를 해결할 수 있습니다.
어느 쪽이든, 당신은 아마 필요할 것입니다 :
A) 기존 디렉토리의 이름을 임시 이름으로 바꿉니다.
B) SVN 되돌리기는 파일 시스템에서 삭제되었지만 SVN에서는 삭제되지 않은 디렉토리를 복구합니다.
거기에서 당신은
A) 삭제 된 디렉토리에 관련 파일을 복사
B) 당신이 디렉토리에있는 내용의 큰 변화가 있었다 경우, SVN은 원래에 삭제 커밋 및 SVN 다음에 원하는 이름을 새 디렉터리 다시는 얻을에 추가 이름을 변경 할 것을 버전 관리 아래 하나.
나에게 위의 해결책 중 어느 것도 효과가 없었습니다. 자물쇠를 끊어 해결책을 찾았습니다. svn 정리를 수행 할 때 "작업 복사본 상태 정리"와 함께 "Break Locks"를 선택했습니다.
이것은 나를 위해 일했습니다.
정리 후 최신 버전으로 업데이트 할 수 있습니다.
Clean up working copy status
하고 Breaks locks
와Include externals
저에게는 실제로 거북이의 잘못이었습니다. 거북이는 방금 "정리할 수없고 정리할 수 없다"고 불평했지만 명령 줄 (svn cleanup)을 실행했을 때 사용중인 일부 파일을 삭제할 수 없다고 명확하게 알려주었습니다. 파일을 열어 둔 Visual Studio를 닫으면 정리가 제대로 작동했습니다.
다른 프로그램도이 문제를 일으키는 리포지토리에 파일을 열어 둘 수 있습니다. xls를 열린 상태로 유지하는 Excel은 다른 경우의 범인이므로 리포지토리의 어떤 항목을 사용하거나 재부팅하여 프로그램을 종료 한 다음 다시 정리하려고 시도하는 경우에도 모든 프로그램을 닫는 것이 좋습니다.
외부 폴더를 기존 폴더에 연결하고 싶지 않기 때문에이 문제가 발생했습니다. 대상이 기존 (버전 또는 비 버전) 폴더 인 svn : externals 속성 행을 추가하면 SVN Woring Copy 잠김 오류가 발생합니다. 또한 정리는 모든 것이 괜찮지 만 여전히 업데이트되지 않는다는 것을 알려줍니다.
솔루션 : 저장소에서 트러블 폴더를 삭제하고 svn : externals 특성이 설정된 루트 폴더에서 업데이트하십시오. 폴더가 만들어지고 모두 다시 괜찮습니다.
파일의 svn : externals에 대상 폴더의 버전 제어가 필요하기 때문에이 문제가 발생했습니다. 이것이 다른 리포지토리에서 작동하지 않는 것을 알았을 때 외부 파일에서 외부 폴더로 바꾸고이 혼란에 빠졌습니다.
SVN 1.7을 사용하여 동일한 문제를 발견했으며 위에서 언급 한 수정 사항이 없습니다.
가장 먼저 편집 한 모든 컨텐츠를 백업하십시오.
몇 시간을 보낸 후 (내 지점의 크기가 6GB 이상이므로 모든 것을 다시 다운로드하지 않았 음) 지점의 .svn 폴더에 "wc"라는 db 파일이 있음을 알았습니다.
모든 db 관리자를 사용하여 db 파일을 열고 (Firefox의 sqlite 관리자 플러그인을 사용함) WC_LOCK 테이블로 이동하십시오. 이 테이블에는 획득 한 잠금에 대한 항목이 있습니다. 테이블에서 레코드를 삭제하면 완료됩니다 :)
새 폴더를 만들고 프로젝트를 체크 아웃하고 업데이트 된 파일을 새 폴더에 복사하면됩니다.
새로운 체크 아웃으로 수정되었습니다.
TortoiseSVN을 사용하고 있으며 방금 업그레이드 되었습니까? 1.4에서 1.5로 옮기고 재부팅하지 않을 때 그 문제가 발생했습니다. (재부팅을 시도하십시오).
다시 부팅해야하는 이유는 캐시 파일이 모두 펑키하기 때문입니다.
그렇지 않으면 계속 진행하려면 작업 복사본을 새 폴더로 내보내고 (.svn 숨겨진 폴더를 복사하지 마십시오) 프로젝트를 다시 체크 아웃하고 모든 코드를 다시 이동 한 다음 커밋을 진행하십시오.
.svn 폴더를 삭제 한 다음 부모 디렉토리에서 정리를 실행하십시오. 완벽하게 작동합니다 !!
나는 종종 그러한 문제를 겪습니다. 정리 문제를 일으키는 내 패턴.
삭제 된 파일이 열린 이미지 뷰어를 닫으면 문제가 해결됩니다. 다른 소프트웨어가 같은 방식으로 정리를 차단할 수 있습니다.
일반적으로 그런 경우 컴퓨터를 다시 시작하면 도움이 될 수 있다고 생각합니다.
버전 제어 폴더 아래에 폴더를 내 보냈기 때문에 동일한 문제가 발생했습니다. TortoiseSVN에서 폴더를 삭제 한 다음 파일 시스템에서 폴더를 삭제해야합니다 (TortoiseSVN은 버전이없는 하위 폴더를 좋아하지 않습니다 ... 왜 안됩니까 ???)
솔루션을 삭제하지 마십시오!
.svn 폴더에는 lock이라는 파일이 있으며 길이는 0 바이트입니다.
솔루션의 모든 .svn 폴더에서 이러한 파일을 모두 삭제할 수 있으며 작동합니다.
내 경우에는 효과가 있었다
파일의 현재 위치 버전 해제 및 동일한 위치에 대한 새로운 체크 아웃으로이 문제가 해결되었습니다.
TortoiseSVN에서 인플레 이스 언 버전을 수행하려면 작업 목록의 루트 폴더를 파일 트리에서 디렉토리 트리로 직접 드래그 한 다음 팝업 메뉴에서 "SVN 버전이 지정된 항목 내보내기"를 선택하십시오. TortoiseSVN은 대상이 원본과 동일 함을 확인하고 작업 복사본의 버전을 해제하도록 제안합니다.
버전을 제거한 후에는 동일한 폴더 (현재 모든 파일의 버전이없는 사본이 포함됨)에 새로 체크 아웃하십시오. TortoiseSVN은 기존 폴더를 체크 아웃하고 있음을 경고하지만 계속 진행할 수 있습니다.
그 후 정리, 업데이트 및 기타 작업이 장애없이 작동했습니다. 위의 두 단계 모두 로컬 수정 사항을 유지하므로 정보가 손실되지 않아야합니다 (그러나 작업 복사본을 백업하기 전에 백업하는 것이 좋습니다).
경고 하나 : 작업 사본에 혼합 버전 또는 커밋되지 않은 속성 변경 사항이 포함 된 경우 해당 정보가 손실됩니다. 나에게 이것은 일반적인 일이 아니며, 손상된 작업 복사본을 선택하거나 커밋되지 않은 속성 변경을 잃은 것을 선택하면 후자를 선택하는 경향이 있습니다.
"정리"가 작동하는이 문제가 있었지만 "업데이트"는 계속 실패합니다. 해결책은 TortoiseSVN의 삭제가 아닌 Windows 탐색기를 통해 문제의 폴더를 삭제하는 것입니다.
O / S 삭제와 SVN 삭제의 차이점에 대한 자세한 내용은 여기를 참조하십시오. http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html)
특히 :
TortoiseSVN → 파일 삭제를하면 파일이 작업 복사본에서 즉시 제거되고 다음 커밋시 저장소에서 삭제 표시됩니다.
과:
TortoiseSVN 컨텍스트 메뉴를 사용하는 대신 탐색기를 통해 파일을 삭제하면 커밋 대화 상자에 해당 파일이 표시되고 커밋 전에 버전 제어에서 파일을 제거 할 수 있습니다. 그러나 작업 복사본을 업데이트하면 Subversion은 누락 된 파일을 찾아 저장소의 최신 버전으로 바꿉니다.
Linux를 사용하는 경우 다음을 시도하십시오.
find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R
그런 다음 cleanup
해당 디렉토리 에서 명령을 실행 한 후 업데이트하십시오.