2009-11-02 6 views
8

私はSVNにはかなり慣れていますが、Mercurialはオフラインのコミットを実行する能力があると考えています。私が知ることができなかったことは、古いタグのついたリビジョンをバージョン管理されていないエクスポートする方法です。 SVNでは、タグはリポジトリの\ tagsフォルダにあるだけで、そこから何かをエクスポートすることはできますが、Hgプロジェクトで使用される同じtrunk-branches-tagsディレクトリのようには見えません(または、 )Mercurialからタグなしバージョンのコピーをエクスポートする

私が知ることができる最高ののは、いくつかのrevでリポジトリをクローンし、次に.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