git 저장소를 mercurial로 어떻게 변환합니까? 개발하고 있습니다.

소스 코드 저장소로 git을 사용하여 Java 응용 프로그램을 개발하고 있습니다. 다른 자바 개발자와 프로젝트를 공유하고 싶은데 hg가 가장 많이 사용되는 것 같습니다.

내 질문은 git 저장소를 hg로 어떻게 변환합니까?

인터넷 검색을 시도하면 “git을 hg로 변환”하고 모든 검색 히트는 hg에서 git로 변환하는 것입니다. TortoiseHg 도 사용하고 있습니다.



답변

hg convert유틸리티는 설치 후 기본적으로 켜져 있지 않습니다. 그렇게 설정하려면 .hgrc파일에 다음을 추가 하십시오.

[extensions]
hgext.convert=

Windows에서 TortoiseHg 를 사용하는 경우이 파일은 홈 디렉토리에 mercurial.ini. 이 설정 변경 후 hg convert유틸리티 를 사용할 수 있습니다 .


답변

Mercurial Convert 확장 을 사용하여

.hgrc또는 확장을 활성화 하려면 다음 줄을 추가하십시오 .

[extensions]
hgext.convert=

그리고 입력

cd src
hg convert --datesort . dst

( 몇 가지 문제가 발생할 수 있지만 …)

참고 :: metrix 는 이것이 작동하지 않을 수 있다고보고합니다.

     hg convert --datesort src dst

참고 :hg convert 소스 디렉토리가 아닌 디렉토리에서이 명령을 수행하면 버그가 발생합니다 .
다음과 같은 오류가 발생합니다.

abort: cannot read tags from git-repo4/.git

Windows XP에서 git 1.7.9 및 Mercurial 2.6.2로 확인


답변

http://hg-git.github.com/ 유틸리티 : Mercurial 용 Git 플러그인 을 살펴볼 수 있습니다 .

이 플러그인은 원래 GitHub 사람들이 개발했으며 git <-> mercurial에서 무손실로 변환 할 수 있습니다. 이론적으로는 hg 저장소를 복제 할 수도 있습니다.


답변

Mercurial 상태를 통한 분산 개정 제어 :

convert에서 지원하는 개정 제어 도구는 다음과 같습니다.

  • 파괴
  • CVS
  • 힘내
  • Darcs

그렇다면 추가 도구가 필요하지 않을까요?


답변

변환 확장 기능이 작동 할 수 있지만 그렇지 않은 경우 분산 된 다양한 SCM간에 변환하기위한 범용 도구 인 재단사 를 확인 하는 것이 좋습니다.


답변

당신은 그것을 전혀 변환 할 수 없습니다. Hg-Git 플러그인을 사용하십시오 ! 아무도 그 차이를 알지 못할 것입니다.


답변

새로운 플레이어 : git-remote-hg . git에서 기본 브리징 지원을 제공합니다.

다만:

hg init ../hgrepo
git push hg::$PWD/../hgrepo