【问题标题】:mercurial-HG tortoise windows, archive/export without .hgignore and .hg_archival.txtmercurial-HG 龟窗,没有 .hgignore 和 .hg_archival.txt 的存档/导出
【发布时间】:2011-08-23 13:04:04
【问题描述】:

我刚开始使用 SVN 编写软件,并决定在我的 Win7 上安装 Mercurial (HG Tortoise)。我从未使用过任何版本控制,但我想我正在慢慢掌握它。我正在尝试做的工作流程是这样的:

  1. 对适当的代码进行编辑。
  2. 使用修订/标签提交编辑
  3. 从 Hg Workbench 中右键单击我想要的修订并创建存档以导出一个目录,然后准备好发送给我的客户。

这个流程正确吗?如果是这样,我如何指定两个文件,.hgignore.hg_archival.txt,不在那里存档?这是为了客户记住,而不是给我自己或其他开发人员,所以他们应该只看到代码。

我应该改为签出、克隆或其他什么,然后手动压缩吗?

很难找到一个基于 GUI 的 Tortoise 教程,它还传达了 Mercurial 的概念(我找到了一个用于 GIT 的教程,但我更喜欢 Tortoise 如何更好地集成 Win7 shell)。

【问题讨论】:

    标签: svn mercurial tortoisehg


    【解决方案1】:

    使用 mercurial 的 archivemeta = false 选项来避免 .hg_archival.txt 文件。

    .hg* 上使用排除过滤器来避免以.hg 开头的文件,例如.hgignore

    关于 archivemeta 选项,请参阅: http://www.selenic.com/mercurial/hgrc.5.html

    关于在hg archive 命令中排除文件,请参阅http://www.selenic.com/mercurial/hg.1.html#archive 其中指出:

    创建一个不包括 .hg 文件的 tarball:

    hg archive project.tar.gz -X ".hg*"

    我知道这个答案与命令行有关,而不是与 Tortoise 相关,但它应该很容易适应。

    【讨论】:

      【解决方案2】:

      使用hg archive 的结果与克隆然后删除.hg 目录没有太大区别。如果我想快速清理 repo 的副本/克隆以便交付它,我会在 repo 的根目录中保留一个脚本(版本受控),该脚本会删除特定的文件和目录,然后可能会删除它本身。

      由于 Windows 7 带有 Powershell,我可能会在我的配置文件中添加一个函数:

      • 致电hg archive
      • 启动清理脚本
      • 删除清理脚本(而不是删除自己的脚本)
      • 压缩目录

      【讨论】:

      • 乔尔,如果我不想走那么远(脚本等),只需导出存档并手动删除目录就足够了吗?谢谢!
      • 是的,您可以手动删除内容。执行hg archive 不会为您提供.hg 目录,因此无需担心那个。但是您必须手动删除其他内容,例如 .hgignore.hg_archival.txt 文件以及您不想发送给客户端的任何其他受修订控制的内容。
      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 2013-11-18
      • 2012-01-19
      • 2013-12-26
      相关资源
      最近更新 更多