2011-05-10 4 views
6

Git 및 Mercurial에 대한 경험이 며칠 밖에 없으며 프로그래밍 경험이별로 없습니다.Git 및 Mercurial에서 이름 바꾸기 : 정확도 및 자동성

지난 며칠 동안 나는이 두 가지를 비교하는 많은 게시물을 읽었습니다. 내가 읽은 내용과 테스트를 토대로 다음과 같은 결론을 얻었다.

힘내 이름 바꾸기는 100 % 자동이지만 100 % 정확하지는 않다. 이름을 추측하기 위해 알고리즘을 사용합니다. 최종 사용자는 완전히 틀린 경우에도 결정을 변경할 수 없습니다.

나는 Git의 방법이 99 %의 경우에는 좋겠지 만 1 %는 두통을 일으킬 것 같아. 그것은 내가 리팩토링하는 사람이 너무 많이 파일 기록을 잃을 위험이 있으므로 내 코드 (클래스 이름과 내용을 동시에 변경)를 리팩터링하는 것을 주저하게 만듭니다.

Mercurial은 Visual Studio에서 항상 내 물건의 이름을 변경/이동하고 VisualHG를 설치 한 경우 100 % 자동 및 100 % 정확할 수 있습니다. VisualHG는 정확하고 자동으로 이동 및 이름 바꾸기를 추적해야합니다 (현재 VisualHG에는 버그가 있음 - File is not renamed when I move it between projects).). 최종 사용자는 실수를 저 지르면 의사 결정을 변경할 수 있습니다.

Visual Studio가없는 경우에도 TortoiseHg의 "사본/이름 바꾸기"창을 사용할 수 있습니다. 비슷 함 비율을 설정하고 Mercurial에서 이름 바꾸기를 자동으로 감지하도록 요청할 수 있습니다. 실수하면 실수를 바로 잡을 기회가 있습니다.

내 결론이 맞나요?

참조 : 당신이 할 수있는 생각하는 것 같이

Git and Mercurial - Compare and Contrast

답변

6

Here 차이점을 볼 수 있지만 대부분 옳습니다. Mercurial은 mvrmadd 일 때 renamemv 명령이 "실제"이름 바꾸기 명령을 가지고 있습니다. 또한 Mercurial이 힘내 행동을 모방하고 이름을 바꿀 수 있다고 생각합니다. 아주 좋은 특징입니다. 경험에 의하면 Git의 이름 바꾸기 감지 알고리즘은 잘못된 결정을 많이합니다. 특히 파일을 복사하고 두 개의 복사본을 조금 변경하면 문제가 발생할 수 있습니다.

4

내가 파일을 추적하는 의욕의 능력은 이름을 변경합니다 생각하지 않습니다 거의 너무 완벽하다. 나는 Git에 대한 경험이별로 없지만 Mercurial에 대해 좋은 경험이있다. 파일 이름을 바꾸는 것은 "재미있다"("hg view"를 이해하는 한) 일부 상황에서는 정상적으로 작동하는 것 같다. 어느 정도 자주 일어나는 것으로 보인다).

Git은 평판이 좋은데, 필요하다면 역사에 대한 저수준 변경을하도록되어 있습니다.