有没有人成功使用TortoiseHg的“自动排除列表”?

时间:2010-11-23 18:12:37

标签: mercurial tortoisehg

我有一个配置文件,我经常修改它以进行一些测试。大约95%的时间我修改了这个文件,我不想承诺回购。在提交期间始终关注它是一件麻烦事。

我在TortoiseHg中发现了一个名为“自动排除列表”的非常好的功能,它应该采用逗号分隔的文件列表,您希望默认取消选中(在提交,恢复,搁架上)。这听起来像是一种让我的生活更简单的完美,非hackish方式。

问题在于我无法做任何事情。我使用文件名(带/不带路径),glob:filename,引号,最终逗号等等 - 都没有运气。我在网上找不到关于这个功能的任何信息(TortoiseHg UI没有告诉我任何信息)。

仅供参考:使用Mercurial-1.6,Python-2.6.4,PyGTK-2.16.0,GTK-2.16.6的TortoiseHg(版本1.1)

有关此功能的任何建议或成功吗?

2 个答案:

答案 0 :(得分:5)

这绝对是您想要的功能。我在模板文件解决方案中遇到了同样的问题,看起来像是颠覆中的永恒,所以我很高兴发现TortoiseHg中的排除功能。

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

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

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

您还必须留意您实际 想要提交的那些文件的更改。如果你习惯于还原那些文件,那么当你不小心擦掉其中一个文件时,你可能会陷入一种粗鲁的觉醒。

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

我的样子如下:

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

对我来说就像是一种魅力。

答案 1 :(得分:1)

您是否尝试在Mercurial存储库中使用.hgignore文件?

为此,请在Mercurial存储库的根目录中创建一个名为.hgignore的文件,并按照上面链接中指定的语法进行操作。请注意,在开始忽略您指定的文件之前,您需要将hg addhg commit此文件放入您的存储库。

例如,如果要排除所有* .txt和* .o文件被认为是提交,.hgignore文件的示例可能是:

syntax: glob
*.txt
*.o