2009-12-10 2 views
0

우리는 SVN은 우리의 .csproj 파일에VisualSVN에 병합 대신 바꾸기를 지시하는 방법은 무엇입니까?

"<<<<<<< .mine"

같은 줄을 추가하기 때문에 Visual Studio에서 우리의 프로젝트를 열 자신이없는 찾고 있습니다.

이것은 분명히 파일을 병합하는 데 문제가있을 때 SVN이 삽입하는 것입니다. 그러나 두 사람이 같은 파일을 체크 아웃 할 수 없기 때문에 병합에 관심이 없습니다.

Visual SVN을 병합 대신 바꾸기로 설정하려면 어떻게해야합니까?

도움 주셔서 감사합니다.

+3

정보 : "손상"이 아닙니다. 이는 의도적으로 설계된 것으로 여러 병합 도구에서 이해할 수있는 표준 병합 형식입니다. – Murph

+0

고마워요, 그건 의미가 있습니다. 오류 메시지가 표시되는 대신 Visual Studio 내에서 프로젝트를 열 수 없기 때문에 손상이라고 말한 것 같습니다. 매우 짜증나. –

+1

+1 (-2에서) 이것은 잘못되었거나 나쁜 질문이 아니기 때문에 SVN에 대한 이해에 근본적인 문제를 보여줍니다. 답변 및 의견은이를 분명히하려고합니다. – akr

답변

2

SVN이 로컬 작업 복사본에 대한 모든 변경 사항을 보존하려고하기 때문에 그렇게하는 것입니다. 그것은 버전 제어의 SVN 방식에 매우 중요한 측면입니다. 그래서 나는 그것을 할 수 있는지 의심 스럽습니다. 나는 당신이 svn에게 파일을 무시하도록 말할 수 있다는 것을 알고 있지만 그들의 변경 사항은 저장소에 커밋되거나 저장소에서 업데이트되지 않는다.

문제가 있으면 csproj 파일을 삭제 한 다음 업데이트하면 올바른 버전이 다시 다운로드됩니다. 문제가 발생할 때마다 그렇게하십시오. 그것이 꽤 많이 발생한다면, 개발자 중 한 명이 파일을 망치고 있습니다.

지난 프로젝트에는 동일한 프로젝트를 진행하는 12 명의 엔지니어가 있었으며 .csproj 파일과의 지속적인 병합 문제가 없었습니다.

2

"두 사람이 같은 파일을 체크 아웃 할 수 없다"는 것은 무엇을 의미합니까? Subversion의 작동 원리에 대해 오해하고 있다고 생각합니다. 체크 아웃은 파일에 대한 단독 잠금이 아닙니다.

+0

아. Visual SourceSafe (파일 독점권을 허용 했음)에서 "업그레이드"하기 전에 누군가가이를 분명히했으면 좋겠습니다. 그래도 작동한다면 문제가되지 않을 것입니다. 대신 우리는 갈등을 편집하는 데 많은 시간을 할애하고 있습니다. –

+1

그런데 왜이 개발자들은 서로 다른 버전의 동일한 프로젝트 파일을 가지고 있으며 합법적인가 그렇지 않습니까? 그렇다면 프로젝트 파일을 버전 제어로 제거하거나 개발자에게 다른 지점에서 작업하도록 알려야합니다. – reinierpost

+0

무엇? 본격적인? 무슨 소리 야? 그리고 우리는 어떻게 "프로젝트 파일을 버전 관리로 제거합니까?" .csproj가 이미 버전 제어에 있습니다. 왜 우리는 "제거"하겠습니까? –

0

Visual SVN은 내가 믿는 백엔드에서 거북이를 사용합니다. 충돌하는 상황 (예 : SVN이 두 버전을 완벽하게 병합 할 수없는 경우)에는 "로컬 사용"또는 "리포지토리 사용"옵션이있는 팝업을 얻을 수있는 옵션이 있어야합니다. "나중에 해결"을 선택하면 설명하는 내용을 얻을 수 있습니다.

+0

예, VisualSVN은 TortoiseSVN 주변에 IDE 통합 래퍼를 제공합니다. –