8

我对 SVN 相当满意,但一直在关注 Mercurial 执行离线提交的能力。我无法弄清楚的是如何对旧标记的 rev 进行未版本化导出。在 SVN 中,标签只存在于 repo 中的 \tags 文件夹中,然后我可以从那里导出一些内容,但似乎与 Hg 项目使用的 trunk-branches-tags 目录不同(或者它们是? )

我能想到的最好的办法就是在某个版本上克隆存储库,然后删除 .hg 文件夹。TortoiseHg 也不显示标签列表,所以我克隆,浏览日志,更新到任何内容,然后删除 /.hg。这看起来真的很笨拙,有什么首选的方法吗?

4

2 回答 2

11

使用“汞档案”。

  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如果您不想要存档文件,它将获得一个目录。

于 2009-11-02T21:04:46.190 回答
3

也许您正在寻找“汞档案”?

要导出标记版本,请使用:hg archive -r mytag ../export-tagged

于 2009-11-02T21:04:36.570 回答