Mercurial 是否有人成功地使用了龟甲';s";自动排除列表“;?

Mercurial 是否有人成功地使用了龟甲';s";自动排除列表“;?,mercurial,tortoisehg,Mercurial,Tortoisehg,我有一个配置文件,我经常修改它来做一些测试。大约95%的时间我修改这个文件,我不希望提交回购协议。在犯罪过程中总是保持警惕是件讨厌的事 我在TortoiseHg中发现了这个被称为“自动排除列表”的功能,它应该包含一个逗号分隔的文件列表,您希望默认为未选中的文件(在提交、还原和搁置时)。这听起来像是让我的生活更简单的一种完美的、非黑客的方式 问题是我不能让它做任何事情。我使用文件名(带/不带路径)、glob:filename、引号、最后一个逗号等等——所有这些都没有运气。我在网上几乎找不到关于这个

我有一个配置文件,我经常修改它来做一些测试。大约95%的时间我修改这个文件,我不希望提交回购协议。在犯罪过程中总是保持警惕是件讨厌的事

我在TortoiseHg中发现了这个被称为“自动排除列表”的功能,它应该包含一个逗号分隔的文件列表,您希望默认为未选中的文件(在提交、还原和搁置时)。这听起来像是让我的生活更简单的一种完美的、非黑客的方式

问题是我不能让它做任何事情。我使用文件名(带/不带路径)、glob:filename、引号、最后一个逗号等等——所有这些都没有运气。我在网上几乎找不到关于这个功能的信息(没有什么是陆龟用户界面没有告诉我的)

仅供参考:带有Mercurial-1.6、Python-2.6.4、PyGTK-2.16.0、GTK-2.16.6的OrtoiseHG(版本1.1)

有什么建议吗?这项功能是否成功?

您是否尝试过在Mercurial存储库中使用文件

为此,请在Mercurial存储库的根目录中创建一个名为
.hgignore
的文件,并遵循上面链接中指定的语法。注意:在开始忽略您指定的文件之前,您需要将该文件添加到存储库中

例如,如果要排除提交时考虑的所有*.txt和*.o文件,则
.hgignore
文件的示例可能是:

syntax: glob
*.txt
*.o

这绝对是您想要的功能。在subversion中,我一直在为同一问题的模板文件解决方案苦苦挣扎,因此我非常高兴地发现了Ortoisehg中的排除功能

这对我来说绝对有效。一件重要的事情是理解这会产生什么影响。如果某个排除的项被更改,它仍会显示在“提交”对话框中。唯一的区别是,与其他更改的文件不同,它不会在对话框中自动在其旁边有复选标记

从可用性的角度来看,这很好,因为您不必有意识地考虑避免讨厌的更改(我称之为“噪音”)。您只需按正常方式提交,对这些文件的更改可能会累积,但它们不会进入提交过程,因此不会分散更改集中实际工作的注意力

这也意味着你可以推到其他存储库,而不是“那个家伙”。但是,您仍然无法在工作副本中使用未提交的更改进行拉取和更新,因此您必须定期提交或还原这些文件

您还必须注意那些您确实想要提交的文件的更改。如果你有恢复这些文件的习惯,那么当你不小心删除其中一个文件时,你可能会大惊失色

文件名的规范位于
.hg\hgrc
文件的
[tortoisehg]
部分。(更新):文件规范与repo根相关,是显式的单个文件名,用逗号分隔。不允许有球

我的看起来像这样:

[tortoisehg]
ciexclude = msi.sql,Service\AssemblyInfo.vb,SetupInitialize\AssemblyInfo.vb

对我来说很有魅力。

我已经有了一个.hgignore文件,但是我更希望看到这个文件已经被修改,因为它偶尔需要提交更改。值得注意的是,通配符似乎不起作用,而且\n在文件名中不起作用(至少在Windows上)。在OrtoiseHG 1.1.6.1中为我工作。似乎在Windows 7 x64上,在文件路径中使用/而不是\对我有效,使用OrtoiseHG 2。8@Mattygabe感谢您的提示-即使在TortoiseHg 4.3.1中,它仍然是必需的。请在复选框旁边输入与TortoiseHg显示完全相同的文件。您需要重新启动tortoisehg才能使设置生效!TortoiseHg 2.0.5、Mercurial 1.8.4、Python 2.6.6也有同样的问题这里有一个关于这个问题的老错误报告