폴더가 잠겨있어 잠금을 해제 할 수 없습니다.


108

프로젝트에서 코드를 업데이트하거나 커밋하려고 할 때 폴더가 잠겨 있다는 메시지가 표시됩니다. "잠금 해제"를 시도하면이 작업 공간에 잠금을 해제 할 항목이 없다고 표시됩니다.

그게 무슨 뜻입니까? 프로젝트를 업데이트, 커밋 또는 정리할 수없는 이유.


어떤 버전의 svn을 사용하고 있습니까?
Chriseyre2000 2012

저장소에 대한 Assembla, Tourtise SVN 1.7
Iyad Al aqel

그렇다면 각 디렉토리에 .svn 폴더가 있습니까, 아니면 루트에만 있습니까?
Chriseyre2000 2012

프로젝트를 별도의 작업 사본으로 다시 체크 아웃 해 보셨습니까?
Bernard

예는 내가 다른 폴더에 체크하면 작업하지만, 데이터베이스는 개방되지 않는다
이야 드 알 aqel

답변:


161

Subversion 작업 디렉토리 폴더를 마우스 오른쪽 버튼으로 클릭 하고 컨텍스트 메뉴에서 TortoiseSVN-> Clean Up 을 선택 합니다. 이것은 작업 디렉토리를 반복하고 불완전한 작업을 정리하고 로컬을 제거합니다. 잠금을 (모든 사람이 잠금에 대해 알 수 있도록 저장소에서 파일의 Subversion 잠금을 사용하는 것과 다릅니다).

그래도 작동하지 않으면 변경되었지만 아직 커밋되지 않은 파일의 이름을 찾을 수 있는지 확인하고 저장 한 다음 체크 아웃을 다시 실행하십시오.


28
나는이 문제가 있었고 정리가 작동하지 않았지만 (로컬 잠금으로 인해 정리 실패) 부모 폴더 (버전 제어하에 있음)로 이동하여 정리를 수행하면 문제가 해결되었습니다.
Malvineous 2012-06-08

2
Break locks옵션을 선택 하여 로컬 잠금을 해제 할 수 있습니다 .
aagjalpankaj

1
@Malvineous 님의 의견은 소중합니다. 답변으로 게시해야합니다.
Lazy Ninja

16

파일이 자신 (동일한 svn 계정)에 의해 잠긴 경우 다음 단계를 수행 할 수 있습니다.

잠긴 파일 또는 폴더를 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN-> Get lock ...을 선택 하고 대화 상자의 왼쪽 하단 모서리에있는 " [] Steal the locks "를 선택하고 "OK"를 클릭합니다. 성공적으로 완료되면 괜찮습니다. 파일을 다시 마우스 오른쪽 버튼으로 클릭하면 TortoiseSVN-> Release lock ...을 볼 수 있습니다 . 클릭하여 잠금을 해제합니다.


12

svn 명령 줄을 사용하여 로컬 폴더의 잠금을 해제하려면 svn cleanup.

전에:

# svn commit -m "fixing #1234"

범하다

# svn st

전에

# svn cleanup

후:

# svn st

후

# svn commit -m "fixing #1234"

after2


10

여전히이 문제가있는 사람에게 ( 오류 : 작업 복사본 '{DIR}'이 잠겨 있습니다. ) 해결책이 있습니다.

TortoiseSVN 창 중 하나가 충돌하면 TSVNCache.exe가 남아 있고 작업 복사본에 대한 핸들이 몇 개 있고 이로 인해 잠금 문제가 발생하고 Clean Up이 작업을 수행하지 못함을 발견했습니다.

따라서이를 해결하려면 :

어느 한 쪽

1a) 프로세스 탐색기 또는 이와 유사한 것을 사용하여 TSVNCache.exe가 소유 한 핸들 삭제

1b) .. 또는 더 쉽게 작업 관리자를 사용하여 TSVNCache.exe를 종료하십시오.

그때

2) 오른쪽 클릭-> TortoiseSVN-> 정리. "작업 복사본 상태 정리"만 확인하면됩니다.

거기에서 행복한 업데이트 / 커밋. SVN 업데이트를 수행 한 다음 업데이트가 완료되기 전에 TortoiseProc.exe 프로세스를 빠르게 종료하여 잠금 동작을 재현 할 수 있습니다.


8

이 문제가 처음 발생했습니다. 효과없이 PC를 다시 시작하려고했습니다. 이것은 내 문제를 해결합니다.

나를위한 솔루션 :

  1. 마우스 오른쪽 버튼으로 클릭프로젝트 작업 디렉토리를 합니다.
  2. TortoiseSVN 탐색 합니다.
  3. 정리로 이동 .
  4. 모든 기본 옵션을 그대로두고 잠금 해제를 선택하십시오.
  5. 클릭 OK

이것은 나를 위해 작동합니다. 변경 사항을 적용 할 수있었습니다.


1
Break Locks 확인란을 선택하면 문제가 해결됩니다.
Banketeshvar 나라 얀

이것이 제가 찾고있는 완벽한 대답입니다. 톤 감사합니다
vamshi krishna kurella

정답이되어야합니다. 실용적이고 쉽고 간단합니다!
Oana-Elena Danescu

3

현재 다른 사용자가 잠근 명령 프롬프트에서 작업 복사본의 파일을 잠금 해제하려면 --forceoption을 사용 합니다.

$ svn unlock --force tree.jpg


디렉토리를 잠금 해제하려면 어떻게해야합니까?
IgorGanapolsky

대신 위의 명령에서 파일 이름의 디렉토리 이름을 지정 @IgorGanapolsky
manav 백만

@IgorGanapolsky 어떤 오류 메시지가 표시됩니까? 나를 확인하자
manav 백만

노드는 파일이 아닙니다 !
IgorGanapolsky

3

이 문제가 있었고 해결하기 위해 아래 단계를 수행했습니다.

  1. 하위 폴더 대신 상위 폴더로 이동
  2. SVN 정리 선택
  3. 확인을 클릭하십시오.

하위 폴더 대신 상위 폴더에서이 단계를 수행하십시오!

그것은 나를 위해 일했습니다!


1

폴더를 한 수준 위로 이동하고 다른 폴더로 이동했습니다. 내 실수는 상위 폴더 내에서 이동하는 것입니다.

나쁜 예 :

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

SVN은 삭제 된 폴더 정보로 상위 디렉토리를 업데이트해야합니다.
소스 및 대상 폴더의 공통 루트에서 수행하거나 전체 경로를 사용해야합니다.

좋은 예 :

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation

1

클라이언트 측에서 파일을 잠금 해제 할 수없는 문제가 발생했습니다. 나는 훨씬 더 간단한 서버쪽으로 가기로 결정했습니다.

SVN 서버 :

자물쇠 찾기

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

잠금 제거

 svnadmin rmlocks /root/of/repo “path/to/file” 

그게 다야!


0

해결책 :

  1. 프로젝트 작업 디렉토리를 마우스 오른쪽 버튼으로 클릭합니다.
  2. TortoiseSVN을 탐색합니다.
  3. 정리로 이동하십시오.
  4. 작업 복사본 상태 정리 (확인 표시)를 선택합니다.
  5. 확인 클릭
  6. 1 단계와 2 단계를 반복 한 다음 잠금 해제로 이동합니다.
  7. 확인을 클릭하면 프로젝트 잠금이 열립니다.

0

David M의 답변 외에도 정리를 수행하는 동안-> '잠금 해제'옵션을 확인하십시오. 이렇게하면 잠금이 해제됩니다. 그런 다음 svn 업데이트를 수행하십시오. 이것은 나를 위해 일했습니다.


0

차단 된 문서의 잠금을 해제하려면 : 1. 오른쪽 클릭-> 잠금 2. "잠금 도용"확인란을 선택합니다. 2. 잠금 해제


0

이 문제에 대해 많이 연구하지만 시도 할 때까지 내 문제를 해결하는 해결책은 없습니다.

내 repo 폴더는 Windows xp 가상 머신과 공유되므로 VM에서 정리를 실행 한 다음 호스트에서 SVN UPDATE를 실행합니다.

그것은 나를 위해 일했습니다.

코스타리카에서 인사드립니다.


0

폴더 경로를 더 작게 만들기 위해 폴더 이름을 변경하여 내 컴퓨터에서이 문제를 해결할 수있었습니다.


-1

Tortoise가 폴더를 업데이트하는 동안 손상되고 충돌 한 후에 이런 일이 발생했습니다. 결국 Tortoise를 다시 설치했지만 유령 자물쇠는 여전히 존재했습니다. 거기에서 폴더를 삭제하고 새 체크 아웃을해야했습니다. 그 당시 커밋 할 새로운 변경 사항이 없었던 것은 분명히 운이 좋았습니다. 어쨌든 좋은 소식은 아닙니다. 누구든지 더 나은 솔루션을 가지고 있다면 직접 듣고 싶습니다. "Break Lock"즉, force 옵션을 사용하여 잠금을 해제해도 아무것도 변경되지 않았습니다.


-1

정리, 모든 확인란을 선택하십시오 => 이것은 나를 위해 작동합니다


Đức Thắng Nguyễn과 동일합니다. "강력한"정리를 수행합니다.

-1

이 작업 후에이 문제가 발생했습니다.

  1. 폴더 잠금
  2. 파일 수정
  3. 파일 제거 및 폴더 업데이트-> 다운로드 한 새 파일
  4. 잠금 커밋 또는 해제 시도

마침내 잠금을 다시 강제하여 문제를 해결했습니다. TortoiseSVN-> 잠금 가져 오기-> "잠금 도용"을 확인한 다음 잠금을 커밋하거나 해제합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.