2009-11-02 6 views
8

저는 SVN에 상당히 익숙하지만 오프라인 커밋을 수행 할 수있는 Mercurial을 찾고 있습니다. 내가 알아낼 수 없었던 것은 오래된 태그가 추가 된 rev가 아닌 버전없는 내보내기를 수행하는 방법입니다. SVN에서 태그는 repo의 \ tags 폴더에 있습니다. 그런 다음 그곳에서 무언가를 내보낼 수 있지만, 같은 trunk-branches-tags 디렉토리가 Hg 프로젝트에 사용 된 것처럼 보이지 않습니다 (또는 그럴 수 있습니까?)Mercurial에서 태그의 버전이없는 복사본 내보내기

내가 알아낼 수있는 가장 좋은 점은 일부 레브에서 저장소를 복제 한 다음 .hg 폴더를 삭제하는 것입니다. TortoiseHg는 태그 목록도 표시하지 않으므로 복제, 로그 찾아보기, 무엇이든 업데이트 한 다음/hg 삭제. 이것은 정말로 서투른 것처럼 보입니다. 선호되는 방법이 있습니까?

답변

11

사용 'HG 아카이브'

은 태그 버전 사용을 내보내려면.

hg archive [OPTION]... DEST 

    create an unversioned archive of a repository revision 

    By default, the revision used is the parent of the working 
    directory; use -r/--rev to specify a different revision. 

    To specify the type of archive to create, use -t/--type. Valid 
    types are: 

    "files" (default): a directory full of files 
    "tar": tar archive, uncompressed 
    "tbz2": tar archive, compressed using bzip2 
    "tgz": tar archive, compressed using gzip 
    "uzip": zip archive, uncompressed 
    "zip": zip archive, compressed using deflate 

    The exact name of the destination archive or directory is given 
    using a format string; see 'hg help export' for details. 

    Each member added to an archive file has a directory prefix 
    prepended. Use -p/--prefix to specify a format string for the 
    prefix. The default is the basename of the archive, with suffixes 
    removed. 

    options: 

    --no-decode do not pass files through decoders 
-p --prefix  directory prefix for files in archive 
-r --rev  revision to distribute 
-t --type  type of distribution to create 
-I --include include names matching the given patterns 
-X --exclude exclude names matching the given patterns 

-r 인수는 태그 이름을 받아 들일 것입니다, 당신은 아카이브 파일을 원하지 않는 경우 -t files는 디렉토리를 얻을 것이다.

+0

TortoiseHg는'hg archive'를 지원하지 않는 것 같습니다. 모든 태그 목록을 보여줄 쉘 명령이 있습니까? –

+2

물론 'hg 태그'를 사용할 수 있습니다. – tonfa

+1

TortoiseHg는'Export-> Archive' 로컬 메뉴를 통해'hg archive'를 지원합니다. – Pino

3

아마 "hg 보관함"을 찾고 계십니까? hg archive -r mytag ../export-tagged