如何忽略HG中的某些文件夹?

时间:2011-09-27 15:08:50

标签: mercurial hgignore

开始here, 我现在正在努力解决这个问题。我有两个文件夹:Source和SQL。 Source有多个项目文件夹。源和SQL中的项目文件夹具有bin文件夹。我想忽略Source下的bin文件夹中的所有文件,但不在SQL下。我认为其中一个可能会成功:

glob:Source\*\bin\
glob:Source\*\bin
glob:Source\*\bin\*
glob:Source\*\bin*
glob:Source*\bin\
glob:Source\*bin\

但上述所有内容都没有骰子。

似乎我必须为Source下的每个文件夹输入一行,我希望有一个bin文件夹(然后每当我添加一个新项目时都会更新我的.hgignore文件)。

glob:Source\Project1\bin\
glob:Source\Project2\bin\
#etc

如果不是这种情况,我们将不胜感激。

2 个答案:

答案 0 :(得分:5)

你试过一个正则表达式:

syntax: regex
^Source/.*/bin

此外,请记住,您已经添加的任何内容都不会受到忽略规则的影响,因此您需要将这些文件取消跟踪以测试这些内容。

最后,考虑将每个项目作为一个单独的回购 - 这是DVCS领域的标准建议,无论是Mercurial还是git。在svn中,同一个repo中的多个项目并不是一个坏主意,因为你可以将工作目录的不同部分更新到不同的版本,但是使用DVCS将所有文件更新/签出到同一版本,这使得放置多个项目在同一个回购中,一般都是麻烦,在某些情况下是个坏主意。

答案 1 :(得分:1)

查看我的.hgignore文件,我的斜线似乎是另一种方式(转发斜杠而不是反斜杠)。即:

glob:*/bin/*

尝试一下吗?