问题描述
使用libgit2我试图在我的工作树中的所有文件上运行git_checkout_tree,同时跳过一些特定文件。 像这样填充git_checkout_options checkout_opts
Integer
仍然签出myFile.dat(位于存储库根目录中)。我试图坚持使用.gitignore模式语法。我已经编译了libgit2,并试图让我的代码基础。我看到wildmatch.c定义了NEGATE_CLASS'!'和NEGATE_CLASS'^'。不幸的是,使用^ myFile.dat不起作用。 libgit2不支持模式否定吗?还是我做错了什么?
解决方法
从issue 2263开始,libgit2尚不支持稀疏签出。
因此,git_checkout_tree
可能不支持最近的野匹配(一年前,2019年6月,replacing fnmatch in PR 5110)。tests/checkout/tree.c
中没有测试否定路径。