Svn mercurial HG Turtoise窗口,存档/导出时不带.hgignore和.HG_archive.txt

Svn mercurial HG Turtoise窗口,存档/导出时不带.hgignore和.HG_archive.txt,svn,mercurial,tortoisehg,Svn,Mercurial,Tortoisehg,我刚开始用SVN编写软件,并决定在我的Win7上安装Mercurial(HG Tortoise)。我从未使用过任何版本控制,但我想我正在慢慢掌握它的窍门。我正在尝试执行的工作流程如下: 对适当的代码进行编辑 使用修订/标记提交编辑 右键单击Hg Workbench中我想要的修订版,并创建归档文件以导出一个目录,然后准备发送给我的客户机 这个流程正确吗?如果是这样,我如何指定两个文件,.hgignore和.hg_archive.txt,不在那里存档?记住,这是给客户的,不是给我自己或其他开发人员的

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

  • 对适当的代码进行编辑
  • 使用修订/标记提交编辑
  • 右键单击Hg Workbench中我想要的修订版,并创建归档文件以导出一个目录,然后准备发送给我的客户机
  • 这个流程正确吗?如果是这样,我如何指定两个文件,
    .hgignore
    .hg_archive.txt
    ,不在那里存档?记住,这是给客户的,不是给我自己或其他开发人员的,所以他们应该只看到代码

    我是否应该签出、克隆或其他东西,然后手动将其压缩


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

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

    由于Windows 7附带Powershell,我可能会在我的个人资料中添加一个函数:

    • 调用hg存档
    • 启动清理脚本
    • 删除清理脚本(而不是脚本本身删除)
    • 打开目录

    使用mercurial的
    archivemeta=false
    选项,避免使用
    .hg\u archive.txt
    文件

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

    关于archivemeta选项,请参见:

    关于在
    hg archive
    命令中排除文件,请查看以下状态:

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

    hg archive project.tar.gz-X“.hg*”


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

    Joel,如果我不太想走那么远(脚本等),只需导出归档文件并手动删除目录就足够了?谢谢是的,您可以手动删除内容。执行
    hg归档
    不会给您提供
    .hg
    目录,因此无需担心该目录。但您必须手动删除其他内容,如
    .hgignore
    .hg_archive.txt
    文件以及任何您不想发送给客户端的受修订控制的文件。