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在合并后保留.orig文件?_Mercurial_Merge_Tortoisehg - Fatal编程技术网

如何禁止mercurial在合并后保留.orig文件?

如何禁止mercurial在合并后保留.orig文件?,mercurial,merge,tortoisehg,Mercurial,Merge,Tortoisehg,在不久前更新了Ortoisehg+Mercurial之后,我开始在合并后获得.orig文件。我已经研究了删除/清除这些文件的解决方案,但我正在寻找一种方法来禁用这些文件。在没有出现这些文件的情况下进行了很好的合并之后,我想知道这是否是可以关闭的新功能。是KDiff3离开了.orig文件,而不是TortoiseHg。 以下是如何禁用此设置: 设置-配置KDiff3-选项卡目录 最后一个复选框:“备份文件(.orig)” 就我个人而言,我会将*.orig文件添加到hg ignore列表中,并不时地进

在不久前更新了Ortoisehg+Mercurial之后,我开始在合并后获得
.orig
文件。我已经研究了删除/清除这些文件的解决方案,但我正在寻找一种方法来禁用这些文件。在没有出现这些文件的情况下进行了很好的合并之后,我想知道这是否是可以关闭的新功能。

是KDiff3离开了.orig文件,而不是TortoiseHg。
以下是如何禁用此设置:

设置-配置KDiff3-选项卡目录
最后一个复选框:“备份文件(.orig)”


就我个人而言,我会将*.orig文件添加到hg ignore列表中,并不时地进行修改

rm **/*.orig

或者,您可以使用更新:

根据Mercurial,默认值部分已被弃用。这一点也特别关键。建议的替换方法是创建一个命令别名(而不是隐藏内置命令),以提供所需的功能。以下是我在配置中切换到的内容

[alias]
undo = revert --no-backup

原件:

我在遇到完全相同的问题时偶然发现了这一点。我一直在处理它并删除.orig文件,因为我似乎从来都不需要它们。我找到的最好的建议是StackOverflow,建议使用hgrc文件的defaults部分。为此,请添加以下部分:

[defaults]
revert = --no-backup

我通过在应用程序中禁用备份,使它在SourceTree中工作


以下内容似乎足以说服hg不要编写这些文件:

# ~/.hgrc
[ui]
origbackuppath = /tmp/hg-trash

您从哪个版本的Mercurial/TortoiseHg升级到哪个版本?我现在的版本是TortoiseHg-2.1.2 hg-1.9.1,不确定它以前是什么版本,但可能是2.0.4。找到旧的安装程序,它是2.0.4,卸载当前版本并重新安装2.0.4。进行了合并并使用了KDiff3(无更改),并获得了一个.orig文件。不知道为什么我现在得到这些文件,因为我在这个旧版本上测试了合并。将.orig文件放在你的.hgignore文件中可能会有用。这并不能完全解决问题,但它确实有助于让它们在很多操作中不受干扰。我尝试过CodeCompare和P4Merge,它们都会留下文件。未尝试KDiff3,但如果它可以处理文件,则可能会尝试。将尝试此选项。尝试此选项后仍保留文件。看起来Mercurial在合并后会保留此文件。Darren是对的:Mercurial会添加此文件,即使您不使用第三方合并工具。KDiff3确实有“备份文件(.orig)”选项。如果您希望在shell(如bash:
(cd`hg root`&&find.-typef-name“*.orig”| xargs rm)
…或只是“find.-typef-name”*.orig“-delete”!:)由于我遇到的其他问题(包括这一问题),我现在已经切换到GIT,但鉴于答案在非常相似的答案上被接受,我会将此标记为答案。谢谢。@Darren:因为这是一个公认的答案,我浪费了时间尝试它,结果发现它需要启用一个扩展。而且,根据,这个扩展已经被弃用了。@StriplingWarrior我也浪费了很多时间试图解决这个问题,这就是我切换的原因。它适用于我在2011年下载的版本。您可以发布mercurial当前版本的答案,然后标记新答案。1)还原与合并有什么关系?2) 别名不起作用,因为该命令不是针对我,而是针对NetBeans的Mercurial插件。我同意@MarkJeronimus,尽管这是有用的信息,但它并没有回答这个问题。您可以使用revert来询问并回答有关此问题的单独问题。
/dev/null
对我不起作用。一个好的目录选择是
/home/yourUserName/.local/share/Trash/files
。通过这种方式,您可以防止意外恢复,而不会使用
.orig
文件污染您的回购。谢谢,我确实注意到一些命令在
/dev/null
中引发错误。我已经更新了答案以使用不同的目录。