2013-05-15 2 views
1

Mercurial과 함께 버전이있는 Eclipse CDT 프로젝트에서 여러 비서 개발자와 협력해야합니다. 빌드 설정과 같은 Eclipse 프로젝트 설정은 .cproject 파일에 정의되어 있습니다.Mercurial의 Eclipse 프로젝트 파일

이 파일을 Mercurial에서 추적 할 때 개발자는 서로 다른 설정을 덮어 쓰지 않을 것을 항상주의해야합니다.

이 처음에 .cproject 파일을 추가하지 않음으로써 피할 수 물론

, 그러나 이것은 너무 불편 :

  1. 내가 그래서 이전으로 돌아갈 수 프로젝트 파일에 대한 변경 사항을 추적 할 버전이 고장 났을 경우.
  2. 가 추적 할 수있는 편리한 방법이 있나요 필요한 수정

하고 동시에 프로젝트 파일의 사용자 별 버전이, 내 설정을 볼 수 있도록 나는 새로운 개발자들과 내 프로젝트 파일을 공유 할

  • ?

  • 답변

    1

    표준 접근 방식은 다음과 같습니다. .cproject 및 친구들을 버전으로 지정하지 마십시오. templates 폴더를 추가하고 거기에 .cproject의 견본 사본을 넣으십시오. 새로운 프로젝트 멤버가 복사본을 만들고 취향에 맞게 사용자 정의합니다. 또한 템플릿 작성자는 모든 사람과 공유하지 않는 자신 만의 사용자 지정 항목을 가질 수 있습니다.

    기본적으로 기본 프로필을 주기적으로 변경하면 변경 사항이 모든 사람에게 자동으로 전파되지 않으므로 다른 프로젝트 구성원에게 변경 사항을 적용해야한다는 제한이 있습니다. 그러나 자동 전파는이 경우 어쨌든 좋은 생각처럼 들리지 않습니다.

    0

    Mercurial 대기열을 사용하여 사용자 별 패치를 관리 할 수 ​​있습니다. 패치를 공유하기 위해 MQ는 패치 저장소를 지원합니다.

    다음과 같이 패치 및 패치 저장소가 설치에 대한 기본 워크 플로우 : 설정하려면

    cd repo 
    hg init --mq 
    
    echo a1 > a 
    hg commit -A -minit 
    
    hg qnew changing.a 
    echo a2 >> a 
    hg qrefresh 
    
    hg annotate a 
    > 0: a1 
    > 1: a2 
    
    hg -R $(hg root)/.hg/patches commit -m"my patches" 
    

    복제 :

    hg qclone file://$(pwd)/repo clone_repo 
    cd clone_repo 
    
    hg annotate a 
    > 0: a1 
    
    hg qpush -a 
    hg annotate a 
    > 0: a1 
    > 1: a2 
    

    당신은 또한 기본 변경 집합을 변경하고 패치를 다시 적용 할 수 있습니다 :

    hg qpop -a 
    echo a3 > a 
    hg commit -m"changing a" 
    hg qpush -a 
    
    hg annotate a 
    > 1: a3 
    > 2: a2 
    

    가장 쉬운 방법은 복제본을 가져 와서 업데이트하는 것입니다. 패치를 다시 적용 :

    cd clone_repo 
    hg qpop -a 
    hg pull -u 
    hg qpush -a 
    
    hg annotate a 
    > 1: a3 
    > 2: a2 
    

    당신은 MQ in the Mercurial book에 대한 설명을 찾을 수 있습니다, 최신 문서에 대한 Mercurial wiki 실행 hg help mq을.