문제

나는 혼합 소스 제어 환경에서 일합니다. 우리는 여전히 CVS에 있지만 새로운 프로젝트는 SVN에 있습니다. 그러나 TortoisesVN이 Tortoisecvs처럼 작동하지 않기 때문에 SVN을 구매하기가 어렵다는 것을 알게되었습니다.

3 웨이 병합은 많은인지 불협화음을 가지고 있으며, Tortoisecvs는 항상 합병을 제대로 얻는 것처럼 보이지만, TortoisesVN은 거의 항상 수동 도움이 필요합니다. 또한 충돌을 수정 한 후에는 파일을 수동으로 확인해야합니다.

Tortoisecvs처럼 더 많은 일을하는 방법에 대한 팁이 있습니까?

편집하다

더 명확하게 말하면, 나는 3 방향 병합을하고 싶지 않다면, 가능하다면 Tortoisecvs와 같이 양방향 합병을하고 싶습니다. 결과 파일은 CVS 및 SVN에서 동일하다는 것을 알고 있습니다. 예를 들어 Visual Studio 프로젝트 파일에는 두 가지 버전이 있습니다. 이것은 항상 TortoisesVN의 갈등으로 끝나고 Tortoisecvs에서는 결코 갈등을 일으키지 않을 것입니다.

SVN은 다음과 같습니다.

<<<<<<< .mine
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> .r195290

CVS loks 좋아요

<<<<<<< SomeFile.cproj
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> 1.121

그래서 나는 같은 종류의 병합을 얻을 수 있어야합니다. 또한, TortoisesVN은 두 사람이 동일한 파일에서 작업하는 경우 업데이트 할 때 거의 항상 충돌이 발생하지만 다른 위치에서 작업하더라도 CortoiseCVS는이 문제가 없습니다. 나는 TortoisesVN이 더 보수적이라고 생각하고 CVS가 CVS가 올바르게되었다고 가정 할 때 합병을 확인하도록 강요합니다. 나는 일부 옵션이 TortoisesVn의 어딘가에 숨겨져있는 곳이 더 자유롭고 3 방향 대신 양식을 합병 해야하는지 궁금했습니다.

아, 그렇습니다. 우리는 병합 지점이있는 Subversion 1.5를 사용하고 있습니다 (분기는 기본적으로 쓸모가 없었습니다).

도움이 되었습니까?

해결책

보세요 비교하여 그리고 Araxis 합병. 그들은 사용자 정의 병합/diff 도구로 tortoisesvn에 통합하는 방법에 대한 지침을 제공합니다.

다른 팁

갈등 마킹은 거북이 자체와 관련이 없으며 SVN 대 CVS와 관련이 없습니다. 파일이 거북이가 아니라 충돌하는지 여부를 결정하는 것은 SVN입니다. 나는 그것이 왜 그런 경우인지 또는 당신이 그것에 대해 무엇을 할 수 있는지 말할 수 없습니다. 아마 아주 작을 것입니다. SVN은 합병을 수용 할 때 더 보수적 일 것입니다. 다시 말하지만, 사용 된 알고리즘에 대해서는 긍정적이지 않지만 변경된 선이 서로 가까이있을 때 충돌하는 파일을 표시하는 것처럼 보입니다 (변경 사항은 다릅니다).

나는 Tortoisemerge가 실제로 상당히 좋다고 생각하기 때문에 최선을 다해 설명 할 수 있고 전에 알지 못한 것을 볼 수 있기를 바랍니다. 일반적으로 2 개의 PANE이 나란히 있고 더 낮은 창이 있습니다. 하단 창은 합병의 결과이며, 충돌은 빨간색으로 표시되고 이미 성공적으로 합병 된 다른 조각들과 함께 충돌이 표시됩니다. 충돌 라인에서 마우스 오른쪽 버튼을 클릭하고 ( "광산"창에서 볼 수 있듯이, "그들의"그들의 "창에서 볼 수 있듯이,"광산 "창에서 볼 수 있듯이 변경을 유지할지 여부를 선택할 수 있습니다. .

마지막으로, 나는 이유를 설명 할 수 있습니다 절약 병합 및 해결 된대로 표시합니다 두 단계입니다. SVN에서는 무언가를 해결 한 것으로 표시하면 다시 커밋 될 수 있습니다. 기본적으로 도구에 병합되어 저장된 파일을 커밋하는 데 도움이되지만 여전히 편집/테스트를 마치지 못했습니다. 기본적으로 SVN은 병합 도구에 무언가를 저장하고 실제로 해결하는 것을 구별합니다.

도움이되기를 바랍니다.

여기서 거친 추측이지만 서버에서 CVSNT를 사용하는 경우이 관찰은 CVSNT가 "mergePoints"라는 개념이 있기 때문에 SVN보다 합병하는 것이 훨씬 더 낫다는 사실을 기반으로 할 수 있습니다. 이는 일반적으로 동일한 지점에서 여러 번 병합 할 때 훨씬 더 적은 충돌로 이어집니다.
나는 적어도 눈에 잘 띄지 않는 방식으로 이것에 대해 할 수있는 일이 많지 않다고 생각합니다.

편집하다: 나는 수정했다. V1.5 SVN은 또한 병합을 가지고 있습니다. 이 답변을 삭제하지만 이전 버전의 SVN을 사용하는 사람에게는 여전히 사용될 수 있다고 생각합니다.

그것이 당신이 말하는 것이 아니라면 아마도 당신은 당신의 질문을 조금 더 명확히해야합니다. CVS (NT?)와 SVN 사이가 아닌 TortoisesVN과 Tortoisecvs의 차이에 관한 것이 확실합니까?

귀하의 질문은 Windows의 전복과 합병을 더 잘 지원하는 방법에 중점을두고 있다고 생각합니다.

구체적으로 당신이 사냥하는 것이 아닐 수도 있지만, 나는 정기적으로 Windows 아래에 EMAC를 사용하여 전복 하에서 병합을 용이하게합니다.

Windows에서 EMACS + SVN

의 조합 EMACSW32 + Cygwin (와 함께 SVN) + PSVN EMACS 패키지 + "내장"EMAC 병합 툴링은 Windows에서 잘 작동합니다. 당신은 찾을 수 있습니다 PSVN 요즘에는 EMACS에서 표준이 있으며, 그렇지 않은 경우 Easiliy를 다운로드하여 빠르게 설치할 수 있습니다.

EMACS 기반 도구 세트의 통합 지원으로 인해 일반적인 동료보다 합병을 해결하는 데 약 5 배에서 10 배 빠릅니다. 그들은 다른 가장 좋아하는 편집자 +를 사용하여 만족하는 것처럼 보이고 Mete를 그런 식으로 만들었습니다 ... 나는 EMACS 기능의 사용과 힘에 대해 여러 번 제안했습니다 (일단 설치되면 스스로 처리해야 함). 그러나 그들은 오히려 기초 도구를 고수하고 생산성을 높이는 데 투자하지 않는 것 같습니다.

SVN은 강력한 도구이며,이를 사용해야한다면, 당신을 위해 일하는 데 투자하는 데 시간을 보내는 것을 고려할 수도 있습니다.

데이비드

어쩌면 문제가 없어 질 수도 있습니다. TOLSOISECVS가 "올바른"경우 (팀이 필요함에 따라, 또는 완료 될 것으로 예상) ... 왜 TortoisesVN을 선택하고 싶습니까?

이 기술의 "목적"을 혼동하지 마십시오 ... 개발 프로세스에서 개발 팀을 "제공"하십시오.

(나는 지금 둘 다 사용하고있다. 그러나 나는 지금까지 SVN의 태그/분기 방법론을 좋아하지 않는다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top