Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial TortoiseHg导出已更改文件的预提交版本_Mercurial_Tortoisehg - Fatal编程技术网

Mercurial TortoiseHg导出已更改文件的预提交版本

Mercurial TortoiseHg导出已更改文件的预提交版本,mercurial,tortoisehg,Mercurial,Tortoisehg,在OrtoiseHG中,您可以通过右键单击修订,然后选择导出->存档,导出更改的文件。。。这样,我可以将更改的文件复制到单独的文件夹中。但是如何导出已更改文件的预提交版本?我需要两个文件夹,比如“before”和“after”。目前,我只能拥有具有更改文件的提交后版本的“after”文件。查看hg archive命令的文档(和),代码似乎必须具有要导出的修订号,否则默认情况下,使用的修订是工作目录的父目录;使用-r/--rev指定不同的版本 thg存档-r[REV]-t[TYPE][DEST]

在OrtoiseHG中,您可以通过右键单击修订,然后选择导出->存档,导出更改的文件。。。这样,我可以将更改的文件复制到单独的文件夹中。但是如何导出已更改文件的预提交版本?我需要两个文件夹,比如“before”和“after”。目前,我只能拥有具有更改文件的提交后版本的“after”文件。

查看hg archive命令的文档(和),代码似乎必须具有要导出的修订号,否则默认情况下,使用的修订是工作目录的父目录;使用-r/--rev指定不同的版本

thg存档-r[REV]-t[TYPE][DEST]

因此,如果未提供
-r[REV]
,则将导出tip(最新提交的代码集)。这看起来像是你不能像你想做的那样指定工作目录

您不想提交这些更改的原因是什么?您可以始终将它们提交到不同的分支,然后归档/导出它们,以便默认分支保持不变

但是如何导出已更改文件的预提交版本

某些变更集的“预提交”是变更集的“后提交”,这是问题对象的前一个“后提交”。你只需要检测它

若您想要在某个变更集之前和之后的整个回购的状态,它们显然将是
$CSET
$CSET-1

如果您只想对存储库中某个子目录的提交前和提交后状态执行归档,则必须找到较旧的归档点,并且您至少有两种纯乌龟式归档方法(加上本研究之外的一些CLI方法):

  • 在首选文件管理器(不在THG中)中,选择存储库中所需的文件夹,并在OrtoiseHG上下文菜单中选择“修订历史记录”(存储库中我的文件夹的屏幕截图)

您将获得带有修订列表的标准Ortoisehg工作台窗口

稍作改动:

  • 它将是过滤视图,其中跳过了一些变更集(注意132之前历史记录的选择):遗漏的变更集未触及问题中的目录
  • 可见的
    过滤器工具栏
    (请参见2)显示revset,应用于revlist以获取我们的子集

    • 另一方面,revset很容易理解(建议阅读
      hg help revset
      ),手工从头开始编写revset可能是第二种更快的方式:在文件(“path:SOMEPATH”)中,只有SOMEPATH是可变部分,具有简单的规则:a)Unix类型的斜杠
      /
      在任何平台上使用,如果subdir文件更深,than root | repo的根的直接父级b)未使用路径中的前导斜杠和尾随斜杠。也就是说,对于repo
      \plugins\serendipity\u event\u assigncategories\UTF-8\
      中的dir,revset将是
      文件('path:plugins/serendipity\u event\u assigncategories/UTF-8')

  • 最后,当您在Workbench中有两个修订(需要的和以前的)时,您可以在这些修订的上下文菜单中导出->
    存档

    我想要导出提交的更改;提交更改不是问题;唯一的问题是,我需要更改文件的提交前和提交后状态;我只需要更改的文件,而不是所有版本控制的文件哦,好的。以前也有人问过类似的问题,这有帮助吗?