2009-09-27 4 views
5

여러 개의 hg 리포지토리 (여러 구성 요소)를 결합하여 단일 응용 프로그램을 만드는 프로젝트가 있습니다. 나는 동시에 여러 repos (예 : 태그, 당기고, 푸시, 커밋 등 ...) 작업을 수행 할 수 있도록 지원하는 크로스 플랫폼 도구를 찾고 있습니다. 기본적으로 Google이 제공하는 'repo'스크립트를 찾고 있습니다. 안드로이드에 대한 쓴, 대신 자식의 HG를 위해 :누구나 여러 개의 hg 저장소를 동시에 처리 할 수있는 스크립트가 있습니까?

http://source.android.com/download/using-repo

내가 스택 오버 플로우에 검색이 발견 :

mercurial windows batch file for pulling changes to multiple repositories

을하지만 여전히 약간 매뉴얼 및 전용 창입니다. 나는 이 아니라는 것을 알고있다.은 repos에 명령을 전달하거나 모든 것을 캡슐화하려고하는 스크립트를 작성하기가 어렵지만, 공통적 인 것으로 생각할 수도 있으므로 다른 사람들은 이미 해결책을 가지고 있다고 생각한다. 한 가지 방법은 repo 스크립트를 hg로 이식하는 것입니다 (hg로 자식 찾기 및 바꾸기는 간단한 작업에 꽤 유용 할 것입니다).

이 상황에서 다른 사람들은 어떻게합니까?

답변

5

Mercurial의 새로운 (버전 1.3에서) 하위 리파지토리 기능을 확실히 살펴보십시오. 다른 저장소가 들어있는 포괄적 인 저장소를 가질 수 있습니다. 최상위 레벨에는 하위 repos의 팁 해시를 지정하는 파일이 포함되어 있으므로 모든 하위 repos의 상태를 포함하는 단일 해시 노드 ID를 효과적으로 지정할 수 있습니다.

https://www.mercurial-scm.org/wiki/subrepos

+0

덕분에 우리 회사는 망할 놈의 이동했습니다, 그래서 나는 가까운 미래에 많은 업데이트를 만드는 아마 없지만, 아마도 그것은 언젠가 힘내에 포팅 될 수있다 . 내가 아직 실험적인 기능을 사용하도록 repos를 재구성 할 수있을 것이라고 생각하지 않는다. 그래서 나는 10 분을 빠른 스크립트를 함께 해킹하는데 투자 할 것이다. – Brian

+0

FWIW, subrepos는 현재 매우 표준적인 사용법입니다. –

1

나는 어떤 시점에서 등 물건

를 병합/가장 분기에 대한 하나의 책임을 6 명 저장소를 통해 프로젝트 확산 매일 작업하고있는, 지난 1 년간 유사한 시나리오에 있었던 나는 간단한 발견 여러 SVN 저장소를 검사하기위한 bash 스크립트. 나는 그것을 Mercurial에게 받아들이고 시간이 지남에 따라 확장했다. 지금은 스크립트의 원본 소스를 기억하거나 Google로 가져올 수 없으므로 불행히도 원래 작성자 (나중에 정보를 찾으면 내 스크립트에 포함됨)에 크레딧을 줄 수는 없습니다.

내 "hgall"스크립트 그것은 내 자신의 사용을 위해 만들어 https://github.com/JKrag/hgall

에서 GitHub의에 게시, 따라서 직접 내가 사용하고있는 몇 가지 확장을 참조하지만,이 쉽게 밖으로 편집 한 수 있습니다. (또는 설치하지 않은 확장 프로그램을 호출하는 명령을 사용하지 마십시오).

스크립트는 내가 지저분한 작업 (예를 들어, 큰 병합)를 테스트하기 위해 이러한 임시 복제본을 사용하는 등, 밑줄로 시작 환매 특약의 무시 (기본적으로) 그것을 가지고 내 개인 "팅겨"을 포함하여 README에 설명되어 있습니다.

나는이 스크립트가 여러분 중 일부에게 유용하기를 희망합니다. 지난 한 해 동안 저에게 큰 도움이되었습니다. 나는 확실히 눈을하겠습니다 ....