如何从忽略中排除子文件夹

如何从忽略中排除子文件夹

我有一个build我想忽略的文件夹,在该构建文件夹中,我有一个generated-src我不想忽略的文件夹

root | - build | - lib | - bin ` - generated-src | - src ` - tst

我尝试使用以下语法:

ignorenot = Path */build/generated-src/*
ignorenot = Path */build/generated-src
ignore = Name */build/*
ignore = Name */build

但它不起作用,并且根据文档,这是预料之中的

特别是,将ignore = Path *放入您的配置文件中,然后使用ignorenot选择要同步的特定路径将不起作用

但我仍然需要做这样的事情,我虽然使用正则表达式来指定该ignore部分,但我不确定如何构建它。也许有人可以帮助我吗?

答案1

嗯,我的问题有点复杂,而且我的构建文件夹实际上是一个符号链接。最后我最终这样做了:

# Ignore build folder from the workplace and the package.
# Keep the src-generated sync so you build only on one side.
ignore = Path */build/*
ignore = Path */build
follow = Path */*/*/build
ignore = Path */*/*/build/*
ignorenot = Path */*/*/build/generated-src

诀窍是Path需要精确的路径,因此全局部分仅与命名有关,您需要指定文件夹的确切深度。因此ignore = Path */*/*/build/*将忽略文件夹中的所有内容,但ignorenot = Path */*/*/build/generated-src会按预期工作。所以和我之前做的一样Name,不起作用。

相关内容