2016-01-28 100 views
1

我试图在我的存储库中执行hg purge,但我需要从该清除中排除一些目录(例如node_modules和其他)。使用hg清除时排除目录

基本上,我想保留(不删除)这些目录,以避免每次都再次下载它们。

这是关于我的构建过程,它在开始新构建过程之前运行hg purge,因此删除了忽略的所有内容(在.hgignore中列出)。我不希望这发生在node_modules和其他一些目录中。

有什么办法可以告诉Mercurial不要对某些目录进行清除?

回答

6

使用-X/--exclude命令行开关(可指定一次以上):

hg purge -X 'glob:node_modules/**.js' 

上述图案忽略了node_modules目录中的所有Javascript文件,包括那些在子目录。使用/**到一个目录下匹配的一切:

hg purge -X 'glob:node_modules/**' 

见Mercurial的指南中的File names and pattern matching chapter;那里描述的模式都可以在这里使用。

在测试你的模式,确保您使用的--print命令行选项hg purge,它会那么只有打印将被删除哪些文件。这有助于迭代你的模式,你不必在尝试之间重新设置你的文件。