Second try. The anchoring rules now look a lot better. I cherry picked Jeff's skip_prefix_mem() for now to avoid dependency. There's a surprise about core.ignorecase. We are matching paths, so we should match case-insensitively if core.ignorecase tells us so. And it gets a bit tricky if core.ignorecase is defined in the same config file. I don't think we have ever told the user that keys are processed from top down. We do now. It makes me wonder if we should allow users the option to match case insensitively regardless of filesystem too. Something close to pathspec magic. But that probably has little use in real world for a lot more work. The '/' vs '\\' battle on Windows, I'll leave it to Windows guys again. I'm also not adding "worktree:" condition. If that happens, it probably happens in the per-worktree config file series. To leave room for future expansion, perhaps we should declare that ':' can't appear in the pattern, so we can add more prefix later, and even stack them, e.g. "regexp:gitdir:<pattern>". The prefix can't be one char long. That should be enough for windows to specify full path including the drive letter. Jeff King (1): add skip_prefix_mem helper Nguyễn Thái Ngọc Duy (1): config: add conditional include Documentation/config.txt | 40 +++++++++++++++++++++ config.c | 89 +++++++++++++++++++++++++++++++++++++++++++++-- git-compat-util.h | 17 +++++++++ t/t1305-config-include.sh | 45 ++++++++++++++++++++++++ 4 files changed, 189 insertions(+), 2 deletions(-) -- 2.8.2.531.gd073806 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html