Subversion에서 Mercurial로 이전 중입니다. 마이그레이션을 용이하게하기 위해 Subversion 저장소의 복제본 인 중간 Mercurial 저장소를 만듭니다. 모든 개발자는 Mercurial 저장소로 전환을 시작할 것이며 중간 Mercurial 저장소에서 기존 Subversion 저장소로 변경 사항을 주기적으로 푸시합니다. 일정 기간이 지난 후에는 Subversion 저장소를 폐기 할 것이고 중급 Mercurial 저장소는 새로운 기록 시스템이 될 것입니다.Mercurial에서 Mercurial to Subversion Workflow 문제
Dev 1 Local --+--> Mercurial --+--> Subversion
Dev 2 Local --+ +
Dev 3 Local --+ +
Dev 4 -------------------------+
나는 이것을 테스트했습니다,하지만 난 내 로컬 저장소에서 변경을 누를 때 나는 중간 머큐리얼 저장소에, 문제로 실행 계속하고 위로 우리의 Subversion 저장소에. 내 로컬 컴퓨터에
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/01.png
, 나는 우리의 중간 머큐리얼 저장소에 푸시하기 위해 최선을 다하고 준비하는 변경 집합이있다. 여기alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/02.png
내가 원격 저장소 만이 변경 집합을 밀어 ... 그것은 해시 (625)와 수정 # 2263입니다 볼 수 있습니다.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/03.png
지금까지, 모든 것이 좋아 보인다. 변경 집합이 푸시되었습니다.
hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
이제 원격 저장소로 전환하고 작업 디렉토리를 업데이트합니다.
hg push
pushing to svn://...
searching for changes
[r3834] bmurphy: database namespace
pulled 1 revisions
saving bundle to /srv/hg/repository/.hg/strip-backup/62539f8df3b2-temp
adding branch
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
rebase completed
다음으로 변경 사항을 Subversion으로 푸시하면 멋지게 작동합니다. 이 시점에서 변경 사항은 Subversion 저장소에 있으며 나는 로컬 클라이언트에게 다시주의를 환기시킵니다.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/04.png
나는 내 로컬 컴퓨터에 대한 변경 사항을 당깁니다. 응? 이제 두 개의 변경 집합이 생겼습니다. 원래의 변경 집합이 로컬 브랜치로 나타납니다.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/05.png
다른 변경 집합은 새로운 개정 번호 2264, 새로운 해시 (10C1)을 가지고 ...
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/06.png
어쨌든, 나는 새로운 버전을 내 로컬 REPO를 업데이트합니다.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/07.png
는 지금 전환하고있다.alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/08.png
그래서, 나는 마침내 클릭 "결정 나가는 변경 집합을 표시"하고 의욕을 볼 수 있듯이 여전히 그들은 이미 밀어 봤는데 비록 내 이전 변경 집합을 밀어 싶어.
분명히, 나는 잘못된 것을하고 있습니다.
또한 두 개의 리비전을 병합 할 수 없습니다.내 로컬 컴퓨터에서 두 개의 리비전을 병합하면 "병합"커밋이 끝납니다. Merge 커밋을 중간 Mercurial 저장소로 푸시 할 때 더 이상 Subversion 저장소로 변경 사항을 푸시 할 수 없습니다. 결국 다음과 같은 문제가 발생합니다.
hg update
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
hg push
pushing to svn://...
searching for changes
abort: Sorry, can't find svn parent of a merge revision.
그리고 나는 병합을 롤백해야 작동 상태로 되돌아갑니다.
무엇이 누락 되었습니까?
모든 이미지가 손상되었습니다. - \ –