2010-11-25 2 views
9

현재 CVS를 사용하여 내 SourceForge 프로젝트를 추적하고 있습니다. 나는 다음과 같은 요구 사항을 가지고있다.Mercurial - 명명 된 분기로 복제 또는 분기를 사용하여 분기

  • 안정적인 트렁크을 유지해야합니다. 사용자가 치명적인 버그를 신고 할 때마다 즉시 수정하여 며칠 이내에 릴리스 할 수 있습니다.
  • 광범위한 신기능 향상, 거대한 코드 리팩토링 기능을 켜고 끄고 수행해야합니다. 몇 주에서 몇 달이 걸릴 수 있습니다. 따라서 보통 내가하는 일은 브랜치 (더 많은 기능이있는 경우 더 많은 브랜치) 내에서 새 기능 향상 및 거대한 코드 리팩토링을 수행하는 것입니다. 충분한 테스트가 끝난 후에야 안정된 트렁크로 다시 병합 할 것입니다.

저는 대부분 인터넷 접속이 좋지 않습니다. 최근에 분산 소스 컨트롤 - Mercurial로 마이그레이션하여 오프라인에서 가끔씩 작업 할 계획입니다.

다음 기사를 읽었습니다. CVS의 브랜칭 (Branching) 하에서 이전 워크 플로우를 보존하기 위해 다음과 같은 방법을 사용할 수 있다고 생각합니다. 그러나

  • Named Branch
  • Clone

    • , 내가보기의 최종 사용자 관점에서 차이를 볼 수 없습니다. 네가 보통 어떤 신화를 적용하는지 알 수 있겠 니? 그리고 왜?

    답변

    9

    명명 된 분기의 경우 기여하기 전에 먼저 분기를 만듭니다.

    클론을 사용하면 복제 저장소에 기여하기 시작하기 전에 기본 저장소에 포함/병합 할 가치가 있는지 생각해보기도합니다.

    을 요약하면 : 실험적인 작업

    1. 사용 클론을. 당신이 기억하고 싶지 않은 단지 역사 일 것이다 또는 새로운 일이 있다면, 당신은 시도하고 싶지도 확실하지 않습니다.
    2. 라이브가 될 다양한 버전/지점을 만들기 위해 명명 된 분기를 사용합니다 (릴리스와 비슷 함). 명명 된 분기는 브랜디 프로젝트의 컨텍스트를 유지하는 좋은 방법입니다.

    SO에 대한 다음 토론을 참조하고 클론, 분기 및 사용시기에 대한 좋은 정보를 제공합니다.

    관련 문제