2011-06-13 2 views
0

Visual Studio 내에서 VisualHG를 사용하고 있습니다. (페치하여) 당길 때 즈음 I이 오류 메시지 :잠긴 .csproj 파일 깨기 Mercurial respository

[ERRNO 13] C : \을 Inetpub \ 사이트 \ SomeProject.csproj : 다른 프로세스에서 사용 중이므로 프로세스에서 파일에 액세스 할 수

이것은 내 저장소를 엉망으로 만들어 모든 것을 삭제하고 다시 가져와야합니다. 이것을 막기 위해 할 수있는 일이 있습니까? Visual Studio에서 프로젝트를 열고 VisualHG로 가져올 때만 TortoiseHG 또는 명령 줄에서 가져올 때이 문제가 발생하지 않는 것 같습니다.

+0

TortoiseHG/Mercurial의 버전과 VisualHG의 버전은 무엇입니까? –

+0

VisualHG 1.1.4, TortoiseHG 1.1.7, Mercurial 1.7.2. 실제로 Kiln 도구가 설치된 Kiln 서버입니다. – ericdc

+0

아, 이제 의심 스럽습니다. 내 대답이 업데이트되었습니다. –

답변

2

TortoiseHg 2.0.4 및 VS2008을 사용하는 컴퓨터에서 매우 유사한 것을 볼 수 있습니다. Visual Studio에서 파일 수정 이벤트를 감지 할 때 잠시 파일을 잠그는 것처럼 보입니다. 그러면 Hg가 실패하게됩니다. 우리는 TortoiseHg와 명령 줄 클라이언트 모두에서 이것을보고 있습니다.

pull 동안 발생하면 매우 실망 스럽지만, merge도 발생합니다. 매우 치명적일 수 있습니다.

+0

호기심에서 어떻게 재앙입니까? 이미 커밋 한 경우 병합 만 되돌립니다. –

1

fetch을 실행하면 Visual Studio를 열지 않아도됩니다. 그 원인이되는 부분이 fetch이 아니지만, update입니다. Visual Studio는 프로젝트 파일에 잠금 기능이있는 것으로 보이며 Mercurial이 열려있는 동안에는 변경하지 않습니다.

그러나 TurboiseHG 또는 명령 줄을 통해 fetch을 사용할 때 프로젝트가 열려 있으면 지정하지 않았습니다. fetch을 사용하지 않고 별도로 당겨서 업데이트 할 수도 있습니다.

편집 : TortoiseHg 버전 일 수도 있습니다. 이전에 열린 프로젝트에서 다른 리비전에 대한 업데이트를 시도했는데 Visual Studio 2008에서 파일 잠금 오류를 다시로드하려고했지만 TortoiseHg 2.0.5를 사용하고 있습니다. 마음에 들지 않거나 작동하지 않으면 항상 1.1. *로 돌아갈 수 있습니다.

+0

그건 제가 결론을 내리는 것입니다. 이 컴퓨터가 여러 대의 컴퓨터에서 재현 될 수 있기 때문에 이것이 정상적인지/예상되는지 궁금합니다. – ericdc

+0

HulkHolden이 TortoiseHg 2.0.4 및 VS 2008에서 동일한 것을 보았을 때, 필자는 Windows 7에 있다고 언급해야합니다. OS가 하나의 요인 일 수 있습니다. –

1

우리는 Mercurial 및 VS2008에서 파일 잠금과 동일한 문제를 보았지만 .csproj 파일과는 관련이 없습니다. 우리는 cmake에 의해 생성 된 것처럼 우리의 프로젝트 파일을 버전 제어하지도 않고 우리의 cmake 파일을 대신 제어합니다.

이 문제로 인해 한 사례에서 일할 가치가 없어지고 이전 파일이 최신 파일을 덮어 쓰는 경우 부적절한 병합이 발생했습니다.

이러한 일이 발생하면 가져 오기 확장 프로그램을 사용하고있었습니다.

Z :> HG --version 의욕 분산 SCM (버전 1.9.2)은 (자세한 내용은 http://mercurial.selenic.com 참조)

저작권 (C) 2,005에서 2,011 사이 맷 맥콜 등이 무료 소프트웨어입니다; 복사 조건에 대한 출처를 참조하십시오. 아무 보증도 없다; 상품성 또는 특정 목적에의 적합성을위한 조차도 아닙니다.