2014-02-18 2 views
11

이진 파일에 needs-lock이 설정된 SVN 저장소 (Dreamhost에서 호스팅 됨)가 있습니다. 그것이 말하는SVN은 파일이 다른 작업 복사본에 잠겨 있다고 자주 말합니다.

Error: Commit failed (details follow): 
Error: File '/my/file.bin' is locked in 
Error: another working copy 

나는 (그것을 훔치는없이) 해당 파일에 대한 잠금을 얻으려고하는 경우 :

Error: Path '/my/file.bin' is already locked by user 
Error: 'my_username' in filesystem '/home/user1/svn/repo1/db' 
을 투입 파일에 날에 의해 잠겨 수정하면서 때로는 그 일이의 커밋 오류와 함께 실패

클린업이 도움이되지 않으므로이를 해결할 수있는 유일한 방법은 잠금을 훔치는 것이므로 커밋이 성공합니다.

이것은 중요한 문제는 아니지만, 특히 오래되어 커밋되는 중일 때 발생합니다. 다른 작업 복사본을 사용하지 않을 것이므로이 문제는 클라이언트 또는 서버의 버그로 인해 발생한다고 생각합니다.이 문제는 상당히 자주 발생합니다 (지난 2 일 동안 3 번). 나와 저의 동료는 저장소를 사용합니다.

Dreamhost svn 서버가 1.6.12 인 동안 우리는 TortoiseSVN 1.8.4를 사용하고 있습니다.

도움 주셔서 감사합니다.

업데이트 : 커밋하기 전에 작업 복사본을 업데이트하면 오류가 발생하는 것으로 나타났습니다 (오류가없고 물론 잠긴 파일을 수정하지 않습니다). 파일의 상태를 확인하여 업데이트 거북이가 나에게 (로컬에서만 확인) 잠긴다 고 말하면서 업데이트를 로컬에서 확인한 후에 "????" 잠금 상태로 설정하고 서버를 확인하여 내게 잠겨 있다고 말합니다. 업데이트 후에도 파일은 수정 됨으로 표시되어 있어도 필요에 따라 읽기 전용으로 만들어집니다. 따라서 작업 순서는 다음과 같습니다. lock file.bin -> file.bin 수정 -> 전체 작업 복사본 업데이트 -> commit -> commit failed 오류. 업데이트 후에는 작업 복사본이 잠금 상태를 잊어 버린 것처럼 보이며 서버에 요청할 때 다른 작업 복사본에 잠겨 있다고 믿습니다.

답변

21

Windows의 경우 다음 단계를 통해 문제를 해결했습니다. 1. 메뉴에서 "Repo-browser"를 클릭하여 저장소 브라우저를 시작합니다. 2. 잠긴 파일을 찾습니다. 3. 잠긴 파일에서 마우스 오른쪽 버튼을 클릭하십시오. 4. "잠금 해제"를 클릭하십시오.

+2

완벽하게 작동합니다. – as9876

3

정리가 도움이되지 않습니다. 이는 복사본 잠금 작업에 사용되는 반면, 사용자간에 뮤텍스를 구현하는 수단으로 저장소 자체에 잠긴 파일이있는 문제에 부딪 히고 있습니다. The Three Meanings of "Lock"

사용자가 알지 못하는 사이 (로컬 또는 서버의 WC에서) 파일을 다른 작업 복사본에 잠그고있는 클라이언트가 있거나 아마도 WebDAV 공유가있는 클라이언트가있을 것입니다. 당신이 마운트했고 그곳에서 파일을 열면 잠금이 생성됩니다.

+0

빠른 답변 감사합니다. 귀하가 지적한 가능한 문제를 확인하겠습니다. 그러나 파일에 대한 잠금을 성공적으로 획득 한 후에 만 ​​문제가 발생한다는 것을 분명히하고 싶습니다. 오류로 이어지는 작업의 일반적인 순서는 다음과 같습니다. 예 : lock file.bin -> file.bin 수정 -> commit file.bin -> commit failed error – cmant

+0

작업 복사본이 잠금을 제대로 기록하고 있는지 질문합니다. 자물쇠를 가져간 후'svn status'를 실행하면 어떻게됩니까? 자물쇠를 얻을 때 오류 메시지가 나타 납니까? – alroc

+0

커밋 중에 "이미 잠긴"이외의 오류는 표시되지 않습니다. 서버에는 저장소를 사용하는 trac 만 있고, 우리는 그것을 비활성화하려고 시도 할 것입니다. 어쨌든 나는 그 오류가 업데이트 후에 만 ​​발생하는 것으로 나타났습니다 (원래의 질문 업데이트를 참조하십시오). – cmant

0

이 찾았 https://groups.google.com/forum/#!topic/subversion_users/wZikmNEubz4 그것은이 SVN 1.8 클라이언트와 1.6.17 이전 서버에서 사용하는 경우이 문제가 명단 것 같다 작업 사본의 루트 폴더를 업데이트 할 때 를 내 잠금이 깨진 얻을, (에 관계없이 needs-의 잠금 플래그).

나는 1.7.14 클라이언트로 다운 그레이드하고 문제가 발생하지 않습니다.

2

나는 또한 동일한 문제가 발생하여 3 대의 컴퓨터 중 하나에서 파일을 잠근 컴퓨터로 인해 문제가 발생한다는 것을 알았습니다. 내가 한 일은 그 기계에서 자물쇠를 풀고 더 나아가는 것입니다.

또는

잠금을 훔치는 제 다음이 SVN에서 제공하는 최선의 선택으로 작업을 시작합니다.

관련 문제