커밋하는 동안 거북이 svn의 작업 복사본 잠김 오류


94

작업 복사본을 변경할 때마다 Tortoise SVN을 사용하여 서버의 저장소에 대한 변경 사항을 업데이트하고 커밋하고 있습니다. 그러나 며칠 후 변경 사항을 커밋 할 수 없으며 커밋하려고 할 때마다 다음 오류가 발생합니다.

Working copy 'C:\Program Files\EasyPHP\www\project\php' locked.
'C:\Program Files\EasyPHP\www\project' is already locked.

내가 선택하고 마우스 오른쪽 버튼으로 클릭하여 폴더를 잠금을 해제하려고했습니다 거북이 SVN은> 릴리스 잠금 , 그것은 말한다

잠금 해제 할 항목이 없습니다. 이 작업 사본에 잠금이있는 파일이 없습니다.

무엇이 문제일까요?

답변:


232

문제 없습니다 ... 이것을 시도하십시오 :

  • 최상위 SVN 폴더로 이동합니다.
  • svn 파일이있는 폴더> TortoiseSVN> 정리를 마우스 오른쪽 버튼으로 클릭합니다.

이것은 확실히 당신의 문제를 해결할 것입니다. 나는 이렇게 많은 시간을 ... :)

노트. 정리 대화 상자에서 "Break locks"옵션이 선택되어 있는지 확인하십시오.


감사합니다 @MicroEyes ... 이제 커밋 할 수 있습니다. 한 가지 작은 의심이 있습니다. 파일을 변경 한 후 먼저 커밋 한 다음 파일을 업데이트 (작업 복사본)하거나 업데이트 한 다음 커밋해야합니까?
Anil

2
항상 업데이트를 따르고 커밋하십시오. 그렇지 않으면 버전 사본이 SVN 서버에 저장되기 때문에 TortoiseSVN에서 업데이트하라는 메시지가 표시됩니다. 따라서 어쨌든 업데이트하고 커밋해야합니다.
MicroEyes

1
예 .. 현재 사본을 svn 개정으로 업데이트하는 것과 관련된 내 문제를 해결했습니다.
Jayesh Bhoi

방금 SVN에 파일을 추가하고 커밋을 시도했지만 동일한 오류가 발생했습니다. 정리 명령을 시도했지만이 문제를 해결할 수 없습니다.
Ashok Chandrapal 2015

나는 이것을 많이 경험하고있다. svn이이 오류 메시지를 표시하기 전에 걸리는 시간을 줄일 수 있습니까 (현재 5 ~ 10 초)? 그래서 더 일찍 정리를 시작할 수 있습니다.
하지 - 한 - 사용자

15

받아 들여진 대답은 저에게 효과적이지 않았습니다. 이 문제를 해결하려면 잠긴 파일을 마우스 오른쪽 버튼으로 클릭하고을 선택해야했습니다 repo-browser. 이것은 SVN 서버에있는 파일과 함께 팝업을 열었습니다. 그런 다음 잠긴 파일을 마우스 오른쪽 버튼으로 클릭하고 break lock.

저장소 브라우저를 닫았을 때 탐색기로 돌아와 마침내 커밋 할 수있었습니다!


정리 대화 상자에서 "Break locks"옵션이 선택되어 있는지 확인하기 만하면됩니다. 나는 그것이 기본적으로 선택되어 있다고 생각합니다 (그리고 이것이 원래 답변에서 언급되지 않은 이유입니다).
Nux

12
  1. 폴더를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. TortoiseSVN-> 수정 사항을 확인하십시오.
  3. 저장소 확인 버튼을 클릭합니다.
  4. 반환 된 모든 파일에 대한 잠금 을 해제합니다.

3

이 문제도 만났습니다. 일부의 경우 잠겨 있으면 팀과 확인하십시오. 팀원 중 누군가가 작업 중이기 때문에 잠긴 항목이있을 수 있습니다 (이를 통해 개발자는 다른 사람이 들어 와서 동일한 콘텐츠를 작업하지 않고도 작업을 수행 할 수 있습니다). 이 경우 잠금을 해제 한 다음 업데이트하면 잠금을 잠근 개발자의 데이터가 손실 될 수 있습니다.

이를 염두에두고 "정리"옵션이 내 작업 복사본을 변경하거나 Subversion의 Repo 수준에서 정보를 제거 할 수 있다는 점을 염두에 두었습니다. 그것은 사실이 아닙니다. 대답은 저에게 효과적이었습니다. 업데이트 도중에 취소를 클릭하면 내 것이 잠겼습니다. 나는 결국 우리 지점의 일부를 당기고 물건이 필요하지 않았으므로 취소를 누르십시오. 내 작업 사본이 잠겼습니다. '잠금 ​​해제'명령을 사용할 때 "잠김"으로 표시되는 문서를 찾을 수 없습니다. 이것은 나를 당황하게 만들었고 몇 가지 빠른 읽기 (및이 스레드)에서 나는 '정리'명령을 시도했습니다. 정리 후 문제가 해결되었고 더 이상 아무것도 잠기지 않았습니다.

출처 : http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html


2

SVN에는 "잠금"의 여러 의미가 있으며 "잠금 해제"또는 잠금 장치를 보유한 팀원에 대해 설명하는 이러한 답변 중 일부는 원래 질문과 관련된 의미를 사용하지 않습니다. 이 질문은 "작업 복사본 잠금"을 다룹니다 (즉, 컴퓨터의 작업 복사본에 전적으로 로컬이며 파일에 잠금 / 체크 아웃을 보유한 팀원이나 사용자와 아무 관련이 없음). MicroEyes가 허용하는 대답은 올바른 사용법을 언급하는 것이며 이것이 발생할 때 최선의 선택입니다.

정리가 작동하지 않으면 프로젝트의 새 작업 복사본을 확인해야 할 수 있습니다. 커밋되지 않은 수정 된 파일이있는 경우 변경 사항을 잃지 않도록 새 작업 복사본에 복사해야합니다.

"잠금"의 세 가지 사용법에 대한 설명은 Tortoise SVN 문서의이 페이지를 참조하십시오. http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

발췌 (강조 추가) :

“잠금”의 세 가지 의미

이 섹션과이 책의 거의 모든 곳에서 "잠금"과 "잠금"이라는 단어는 커밋 충돌을 방지하기 위해 사용자 간의 상호 배제 메커니즘을 설명합니다. 불행히도 Subversion과이 책은 때때로 관심을 가져야하는 두 가지 다른 종류의 "잠금"이 있습니다.

두 번째는 동일한 작업 복사본에서 작동하는 여러 Subversion 클라이언트 간의 충돌을 방지하기 위해 Subversion에서 내부적으로 사용 하는 작업 복사본 잠금 입니다. 일반적으로 update / commit / ...과 같은 명령이 오류로 인해 중단 될 때마다 이러한 잠금을 얻습니다. 이러한 잠금은 "정리"섹션에 설명 된대로 작업 복사본에서 정리 명령을 실행하여 제거 할 수 있습니다.

...


2

어떤 파일에 잠금이 있는지 몰랐으므로이 문제를 해결하기 위해 한 일은 다음과 같습니다.

  1. 최상위 폴더로 이동
  2. 정리를 클릭하고 정리 방법에서 선택-> 잠금 해제

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


1

하위 디렉터리에 대한 "Clean Up"을 포함하여 다양한 작업을 시도했습니다. 마지막으로 최상위 폴더를 업데이트 해 보았습니다. 아무것도. 그런 다음 "최상위 수준 정리"팁을 읽었습니다. 나는 그것을 시도했다. 정리 부분이 성공했지만 잠금이 유지되었습니다. 내 해결책은 최상위 수준으로 돌아가서 정리 한 다음 드릴 다운 할 수있는 각 빨간색 (!) 폴더를 정리하는 것이 었습니다 . 결국 "정리"된 후 업데이트가 완벽하게 작동했습니다. 팀의 누군가 가 사물에 대해 합법적 인 잠금을 가질 있다는 점을 제외하면 "잠금 해제"팁도 좋아 보입니다 .


0

나는 svn의 파일에서 자신을 잠그는 데 성공했습니다. 방법을 모르겠습니다.하지만 잠금을 시도 (다시) 시도했을 때 (Tortoise가 파일에 대해 "Get Lock"옵션을 표시 했음) 이미 자물쇠. 나는 파일을 삭제하고 디렉토리 변경을 커밋하려고 시도했습니다. 정리 (오버레이 새로 고침 포함)를 시도했지만 실패했습니다.

해결책은 Tortoise 저장소 브라우저로 이동하여 파일을 찾고 잠금 해제 기능을 사용하는 것이 었습니다 .


0

이것이 도움이되지 않는 경우 ( https://stackoverflow.com/a/11764922/3045875 ) : 다른 SVN 도구가 간섭하는지 확인하고 도구를 닫습니다. TortoiseSVN을 사용하여 병합하는 데 몇 시간이 걸렸고 이러한 잠금 오류가 수십 개 발생했습니다. 결국 우리는 Matlabs SVN 통합이 방해를 받고 있다는 것을 알게되었고 종료 후 모든 것이 해결되었습니다.


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