2010-11-29 4 views
6

Mercurial을 사용하여 클라이언트 프로젝트를 개발 중입니다. 이 작업을 2 주 동안 수행 한 후에 클라이언트는 SVN Repo에 모든 코드를 보관하도록 요청했습니다.Mercurial 저장소를 Subversion으로 미러링 하시겠습니까?

계속 Mercurial을 개발 용으로 사용하고 싶지만 클라이언트를 만족 시키려면 모든 커밋 (메시지 포함)을 SVN으로 내보내십시오.

이것이 가능합니까?

답변

3

Mercurial을 클라이언트로 사용하여 Subversion 저장소에 사용할 수 있습니다.

아직 hgsubversion을 확인 했습니까? 이렇게하면 Mercurial에서 완전한 기록을 가질 수 있습니다. https://www.mercurial-scm.org/wiki/WorkingWithSubversion

그것은 파괴 작업의 세 가지 방법을 제공합니다

은 세부 사항을 참조하십시오. 하나를 사용하고 혼합하지 않도록하십시오. hgsubversion와

  1. MQ와
  2. 변환 확장

[개인 체험]

내가 찾은 가지고에 suversion의 REPO 변환하면서 문제가있을 수 있습니다 방법 이제까지 더 나은 hgsubversion Mercurial repo.

# This usually fails for a svn repo with 
# large history or large files in revchanges 

hg clone svn+http://.../svn local-hg 

# If the above has any issues and dies before converting the repo, use hg pull 
hg pull 

문제 : 이미 기존의 repo 있습니다.

  1. 나는 가장 좋은 방법은 위의 방법 중 하나를 사용하여 서브 버전의 repo에서 다른 의욕 REPO를 생성하는 것 같아요.
+0

그래서이 솔루션 허용 할 SVN 저장소에 변경 사항을 제출 할 준비가 이제 이전

  • 의 모든 변화와 역사를 얻을 수있는 나이가 하나에서이 새로운 환매 특약으로 변경 세트를 당겨 내 * exist * hg repo를 계속 사용하여 SVN repo에 변경 사항을 동기화 할 수 있습니까? SVN에서 새로운 변경 사항을 끌어낼 수있는 능력이 있습니다 (변경 사항이있는 사람이있을 경우). 이것이 가능할까요? –

  • +0

    @ 존 L : 예. 세 가지 방법 중 하나를 사용하여 svn repo를 복제해야합니다. 이렇게하면 Mercurial을 전복에 대한 클라이언트로 사용할 수 있습니다. 그런 다음 hg pull을 통해 이전 repo의 변경 사항과이 새로운 repo를 동기화해야합니다. 그런 다음 새 repo를 사용하여 변경 사항을 svn repo로 푸시하십시오. – pyfunc

    +0

    음 ... svn 서버에서 빈 repo를 복제 한 다음 hg가 현재 hg repo에서 변경 사항을 가져옵니다. – jkerian