2010-04-12 1 views
1

나는 지속적인 통합을 수행하는 시스템에서 일하고 있으며 저장소를 로컬에 생성하지 않고 Mercurial 저장소에서 가장 최근의 변경 집합을 가져 오는 데 사용할 수있는 방법을 찾고 있습니다.로컬 리포지토리를 만들지 않고도 Mercurial에서 최신 파일 집합을 가져올 수 있습니까?

나는 clone을 사용하려고했지만이 방법은 작업 디렉토리를 로컬로 설정 한 경우에만 작동합니다 (빌드 서버에서 발생하기 때문에 .hg 파일을 포함하므로이 작업을 수행하지 않는 것이 좋습니다. diffs - 필자가 원했던 것은 본질적으로 팁 개정판의 파일을 내보내는 것뿐입니다.)

이 요청은 불가능할 수도 있으며, DVCS를 잘 이해하지 못했을 가능성이 큽니다. 그러나 내가하고 싶은 일을 할 수 없다면 해결 방법이 있을까요?

+0

.hg 디렉토리를 복제 한 다음 삭제하지 않는 이유는 무엇입니까? – hwiechers

+0

@hwiechers - 아마도 그렇게해야 할 것입니다.하지만 실제로 필요한 파일과 함께 변경 내역을 모두 가져 오지 않으려합니다. –

+0

rasch 단지 저장소를 계속 유지하면 변경 사항을 가져올 필요가 있습니다. ? 훨씬 더 빠를 것입니다. –

답변

4

원격 저장소가 설정되는 방법에 따라 'hg archive'를 사용하는 것이 가능합니다.

hgweb.cgi 또는 hg serve을 사용하여 HTTP를 통해 사용할 수있는 경우 프로그래밍 방식으로 보관 링크를 눌러 원하는 파일을 가져올 수 있습니다. 예 :

wget https://www.mercurial-scm.org/repo/hg/archive/tip.zip --output-document=- | unzip - 

또는 ssh를 통해 사용할 수 :

ssh [email protected] hg archive --type=zip - | unzip - 
2

당신은 사용할 수 있습니다

$ hg clone http://your_repo 
$ hg archive ../export/ 
$ rm -rf * 
$ cd .. 
$ cd export 

을 의욕의 도움말 파일에서 :

$ hg help archive 

HG 아카이브 [OPTION] ... DEST

을 저장소의 버전없는 아카이브를 생성 수정

+0

이 작업을 수행 할 때 "저장소가 로컬이 아닙니다"라는 오류가 발생합니다 ... 모든 명령에서 발생하는 것으로 보이지만이 문제를 해결하는 방법이 있습니까? –

+0

Ok John. 도움이 될만한 것으로 업데이트 됨 ... –

+0

아카이브를 사용하기 전에 repo를 복제하면 불행히도 업데이트 해 주셔서 감사합니다. 아직 전체 기록을 가져 왔습니다 ...하지만이 시점에서이 작업을 수행 할 방법이없는 것 같습니다. 나보다 앞서 일할거야. –

1

당신은 사용할 수 있습니다

http://merc/raw-file 

이 저장소에있는 파일의 목록 또는

http://merc/raw-file/filename 

를 검색 할 수 특정 파일을 얻으려면.

관련 문제