2010-04-15 3 views
0

업데이트 :이 문제를 다시 한 번 복제하여 질문에 대답 할 수 없었습니다! 나는 Mercurial의 초기 설정이 문제가 있다고 결론을 내릴 수 있었고 아마도 체크 인 전에 컴파일에 실패한 빌드를 체크인하려고 시도했을 것입니다. 한숨! 도와 주셔서 대단히 감사합니다. 나는 스크립트를하는 방법에 대한 도움을 제공했다. 나는 그것을 일반적인 목적으로 시도 할 필요가있다.GUID가있는 C# 프로젝트에서 Mercurial Hg Clone이 실패 함


안녕하세요, 저는 당신이 나를 도울 수 있기를 바랍니다. :) 나는 Mercurial이 직장에서 내 프로젝트에 좋은 DCVS가 될지 알아보기 위해 노력하고 있으며, 나는 많은 것들에 대한 초보자 일 것입니다.

우리는 C# (Dotnet3.0이 아닌 3.5, WindowsXP)에서 상당히 큰 코드베이스를 가지고 있으며 GUID 기능을 사용합니다. 나는 어떻게 또는 왜 우리가 GUID를 사용하는지에 대해 거의 알지 못한다고 고백하지만, 나는 그것을 만질 수 없다는 것을 알고있다.

그래서 복제 된 디렉터리에서 GUID를 변경하지 않으면 (즉, Visual Studio에서 새 GUID를 만든 다음 이전 GUID를 붙여 넣으 려하지 않으면) 복제를 시도하면 실패합니다. 나에게 이것은 빠른 클론의 목적과 유용성을 완전히 상실한 것이다. 또한 여러 클론이 필요한 많은 워크 플로를 어렵게 만듭니다.

해결 방법이 있습니까, 아니면 제가 잘못하고있는 것이 있습니까? 이 문제를 어떻게 단순화 및/또는 제거 할 수 있습니까?

바자가이 작업을보다 쉽게 ​​수행 할 수 있습니까?

감사합니다.

+1

"C#의 GUID 기능"과 복제가 실패 할 때 Hg가 알려주는 내용을 명확히 할 수 있습니까? 코드에 Guid가있는 경우 저장소를 복제 할 때 Hg가 어떻게 불쾌해질 수 있는지 상상할 수 없습니다. – jan

+0

"GUID"를 사용하는 방법과 이유를 알아야 할 것 같은데 -이 문제를 이해하는 데 도움이 될 수 있습니다. – Paddy

답변

1

아마도 업데이트 후크에서 할 수 있습니다. 나는 더 윈도우 스크립터는 아니지만, 당신이 [system.guid].newguid()를 호출하고 그 파일을 대체하는 파워 쉘 스크립트를 작성할 수 있다면 당신은 같은 후크 사용할 수 있습니다 : 당신은 아마해야 이러한 GUID를 변경하고 무엇이든간에 파일

[hooks] 
update=c:\scripts\replace-guid-in-file.PS1 path\to\file\with\guid 

을 untracked (귀하의 .hgignore에 넣으십시오) 또는 repo에 위탁 된 많은 우발적 인 guid 변경으로 끝날 것입니다.

0

이 GUID는 프로젝트 파일에서 편집기가 만드는 내용입니까? 이 경우 프로젝트 파일을 체크인하거나 GUID가없는 파일 만 체크인하십시오.

관련 문제