2010-01-26 1 views
2

svn repo가 ​​있습니다. Mercurial을 프론트 엔드로 사용하고 싶습니다. 나는 hgsubversion을 테스트 해봤는데 꽤 괜찮은 것 같다.하나의 중앙 저장소에 여러 대의 컴퓨터가있는 사설 브랜치에 대한 의욕적 워크 플로

필자는 일반적으로 코드를 작성하고 테스트하는 동안 컴퓨터간에 전환해야하며, 필자는 (분기, mq에서 아직 확실하지 않은) 내 물건을 확인할 수 있기를 바랍니다. 다른 컴퓨터에서는 편집하고 뒤로 밀기 만하면됩니다. 준비가 끝나면 중앙의 저장소로 밀어 넣으십시오.

git에서 임시 시스템 사설 브랜치를 사용하여이 작업을 수행 할 것입니다. 그런 다음 주 지점으로 되돌아 가서 중앙 저장소로 밀어 넣습니다. 그러나 저는 여전히 hg의 분기 모델에 상당히 익숙해 져 있습니다. 많은 선택 사항 중 어느 것이 가장 효과적인지 (복제본, 영구적 인 분기점, 익명 분기, mq ...)

수은 초보자를위한 힌트가 있습니까?

+1

다음 확장 프로그램 : http://mercurial.selenic.com/wiki/LocalbranchExtension은 내가 본 이후의 모습입니다. –

답변

3

"중앙"및 "진행 중"에 대해 별도의 리포지토리를 사용하십시오. 중추적이고 의미있는 repo가 ​​당신이 변화를 세계와 공유 할 수있는 곳으로 만들고, 놓을 준비가 될 때까지 별도의 '-devel'repo에 밀어 넣으십시오. 준비가되면 '밀어 넣기'로 모든 컴퓨터에서 밀어 넣고 끌어 당기고 정식으로 발전 시키십시오.

결과 변경 집합이 반드시 진행중인 변경 집합과 일치하지 않게하려면 멋지게 꾸밀 수있는 devel에서 패치 큐 (mq)를 사용할 수 있지만 나는 노출 팬입니다 그 결과만큼의 과정이므로, 나는 그 길로 가지 않습니다.

어느 쪽이든 push-pull은 진행중인 작업을 -devel repo (또는 버전이있는 대기열)로 /부터 이동 한 다음 준비가되면 중앙으로 이전해야합니다.

합니다 (LocalBranch 확장 자체가 전혀 그들이 모든 기계 사이에 이동하지 않는 한 당신이 원하는하지 않은 질문의 댓글에서 제안 - 따라서 자신의 이름입니다.)

1

내가 일반적으로 할 것은 Mercurial에서 북마크 또는 로컬에서 생성 된 비공개 분기를 사용합니다. 로컬 명명 된 브랜치는 Subversion으로 푸시 될 때 이름을 잃게되고 어쨌든 책갈피는 일시적입니다. 이렇게하면 많은 수의 저장소가 필요 없게되고 물건을 깨끗하게 유지할 수 있습니다.

"svn의 뒤에서"밀고 당기면 Subversion으로 푸시 할 때 해시가 반드시 변경되므로 약간의 혼란스러운 수정 버전이 생길 수 있습니다.