Programing

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

lottogame 2020. 8. 29. 11:49
반응형

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


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

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

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

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

무엇이 문제일까요?


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

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

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

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


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

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


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

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

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

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


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

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

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

발췌 (강조 추가) :

“잠금”의 세 가지 의미

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

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

...


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

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

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


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


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

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


Windows 솔루션 :

https://sourceforge.net/projects/win32svn/

1. 다운로드 한 다음 시스템 경로에 추가합니다.

2. 작업 디렉토리로 이동하여 cmd에서 "svn clean"및 "svn update"를 실행합니다.

참고 URL : https://stackoverflow.com/questions/11764185/working-copy-locked-error-in-tortoise-svn-while-committing

반응형