Subject: [PATCH 0/5] Split .git/config in multiple worktree setup

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Wed, 2 Dec 2015 20:13:41 +0100

Let's restart this. From the last discussion [1], we need to make
core.worktree per-worktree for submodules to work. We also need
core.sparseCheckout per-worktree.

This series adds a pattern list, with .gitignore syntax mostly, that
split config var set into two sets, the per-worktree set will be
stored in .git/worktrees/*/config.worktree instead. The pattern list
consists of default patterns, built in git binary, and user ones in
.git/info/config.worktree.

I have marked a few obvious config vars as per-worktree. There may be
more to mark, Max did go over them last time so I'll let him to add
more if submodule needs it.

[1] http://article.gmane.org/gmane.comp.version-control.git/266520

Nguyễn Thái Ngọc Duy (5):
  dir.c: clean the entire struct in clear_exclude_list()
  config.c: move worktree-specific variables to .git/worktrees/...
  setup.c: remove special case of core.worktree and core.bare
  worktree: make core.sparseCheckout and core.ignoreStat per-worktree
  git-worktree.txt: mention about the config file split

 Documentation/config.txt               |  13 ++-
 Documentation/git-worktree.txt         |  13 +++
 Documentation/gitrepository-layout.txt |  12 +++
 builtin/config.c                       |   9 ++
 cache.h                                |   2 +-
 config.c                               | 153 +++++++++++++++++++++++++++++++--
 dir.c                                  |   6 +-
 dir.h                                  |   1 +
 setup.c                                |  62 ++++++-------
 t/t2025-worktree-add.sh                |  26 ++++++
 10 files changed, 250 insertions(+), 47 deletions(-)

-- 
2.2.0.513.g477eb31