All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Add "git config --move-to"
@ 2018-12-27 15:56 Nguyễn Thái Ngọc Duy
  2018-12-27 15:56 ` [PATCH 1/6] config.c: avoid git_path() in do_git_config_sequence() Nguyễn Thái Ngọc Duy
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Nguyễn Thái Ngọc Duy @ 2018-12-27 15:56 UTC (permalink / raw)
  To: git; +Cc: Nguyễn Thái Ngọc Duy

This is a continuation of nd/per-worktree-config, fixing is small
things from that series and prepares to make submodules work in
multiple worktrees.

The first thing is adding API for updating per-worktree config in
03/06. When submodule code wants to write to a per-worktree config,
calling this function takes care of both single and multi worktree
setups, similar to "git config --worktree <name> <value>"

The second thing is "git config --move-to" and friends. This helps
the config transition right after enabling extensions.worktreeConfig,
when the user has to make sure per-worktree config stays in
per-worktree file.

Manual moving config from one file to another is possible with a
couple keys like core.worktree, but once you have to move multiple
groups (i.e.  "submodule.*.*" keys) then it becomes a lot less fun and
more pain. This simplifies that work (and also migration
documentation)

Note that I added --move-glob-to because I think glob fits much better
than regex for matching keys because of the dots in config keys. I
added --move-regex-to anyway because we have --get-regexp. Maybe I
should add --get-glob too (but probably not now).

There is also a NEEDSWORK in 03/06. But I hope it could be addressed
after this series is merged (so that I could continue pushing
submodule changes out)

Nguyễn Thái Ngọc Duy (6):
  config.c: avoid git_path() in do_git_config_sequence()
  worktree.c: add get_worktree_config()
  config.c: add repo_config_set_worktree_gently()
  config: use OPT_FILENAME()
  config: factor out set_config_source_file()
  config: add --move-to

 Documentation/git-config.txt   |  12 ++
 Documentation/git-worktree.txt |  16 ++-
 builtin/config.c               | 244 ++++++++++++++++++++++++---------
 config.c                       |  55 +++++++-
 config.h                       |   3 +
 t/t1300-config.sh              |  54 ++++++++
 worktree.c                     |  16 +++
 worktree.h                     |   7 +
 8 files changed, 330 insertions(+), 77 deletions(-)

-- 
2.20.0.482.g66447595a7


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-05-01  9:55 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-27 15:56 [PATCH 0/6] Add "git config --move-to" Nguyễn Thái Ngọc Duy
2018-12-27 15:56 ` [PATCH 1/6] config.c: avoid git_path() in do_git_config_sequence() Nguyễn Thái Ngọc Duy
2019-01-10 21:38   ` Junio C Hamano
2018-12-27 15:56 ` [PATCH 2/6] worktree.c: add get_worktree_config() Nguyễn Thái Ngọc Duy
2018-12-27 20:36   ` Eric Sunshine
2018-12-27 15:56 ` [PATCH 3/6] config.c: add repo_config_set_worktree_gently() Nguyễn Thái Ngọc Duy
2019-04-30 16:40   ` Derrick Stolee
2019-05-01  9:55     ` Duy Nguyen
2018-12-27 15:56 ` [PATCH 4/6] config: use OPT_FILENAME() Nguyễn Thái Ngọc Duy
2018-12-27 20:40   ` Eric Sunshine
2018-12-27 15:56 ` [PATCH 5/6] config: factor out set_config_source_file() Nguyễn Thái Ngọc Duy
2018-12-27 15:56 ` [PATCH 6/6] config: add --move-to Nguyễn Thái Ngọc Duy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.