2

我有一个data-files-dir包含具有以下扩展名的文件的目录:

# binary types
.dat
.dat.gz
.csv

# script files
.bat
.yaml

我想排除包含我不想存储在 Mercurial 中的千兆字节数据的二进制文件。

但我想让 Mercurial 记录脚本文件。

到目前为止,我能做的最好的事情是使用此.hgignore文件排除整个目录:

syntax: glob
data-files-dir/**

但是我不能再从 Mercurial 中排除这些脚本文件。

如何让 Mercurial 跟踪脚本文件而不是二进制文件?

4

3 回答 3

3

修改hgignore中指定的例子,下面的不行吗?

syntax: glob
*.dat
*.dat.gz
*.csv
于 2011-09-14T10:05:45.453 回答
2

您可以使用正则表达式语法忽略文件​​以更简洁。以下示例.hgignore文件同时使用globandregexp语法。glob 条目忽略binandobj目录下的所有内容。该regexp项目将忽略data-files-dir以括号中列出的扩展名结尾的所有文件。

syntax:glob
bin/**
obj/**

sytnax:regexp
data-files-dir/.+\.(dat|gz|csv)
于 2011-09-14T16:02:27.240 回答
1

如果您希望忽略的文件都在data-files-dir目录中,那么您可以将以下内容添加到您的.hgignore文件中:

glob:data-files-dir/*.dat
glob:data-files-dir/*.gz
glob:data-files-dir/*.csv

这将仅忽略data-files-dir目录中的那些文件扩展名。我刚刚尝试了一个快速测试,它似乎对我有用:

C:\ignoretest>dir /b data-files-dir
batch.bat
binary1.dat
binary2.dat
binary2.gz
C:\ignoretest>hg st
? .hgignore
? data-files-dir\batch.bat

因此,我的文件中的上述任何.dat, .gzor文件都会被忽略。.csv.hgignore

于 2011-09-14T11:09:56.367 回答