On Sat, Sep 24, 2016 at 11:55:33AM -0700, Junio C Hamano wrote:
> Junio C Hamano <gits...@pobox.com> writes:
> > I think this 4/3 is not quite enough to fix the damage to the code
> > caused by 2/3.
> > ...
> > after 4/3 is applied, we should be able to remove the global
> > variable 2/3 introduced, make init_db() receive that information as
> > the return value of set_git_dir_init(), and pass that as a parameter
> > to create_default_files().
> That would look something like this squashed into 4/3, I think. I
> am not sure if a commit that squashes 2/3, 3/3, 4/3 and this update
> together is harder to understand than keeping 2/3, 3/3 and a fixed
> 4/3 separate, though. The end result looks much better structured
> than before 2/3 is applied to my quick scan-through of the code.
How about this?
[1/5] init: correct re-initialization from a linked worktree
[2/5] init: call set_git_dir_init() from within init_db()
[3/5] init: kill set_git_dir_init()
[4/5] init: do not set unnecessary core.worktree
[5/5] init: kill git_link variable
I went a bit further, merging set_git_dir_init() back to init_db() so
I can kill "git_link" variable cleanly in 5/5. 3/5 does make init_db()
a bit longer, but not to the alarming level yet. By 4/5,
set_git_dir_init() is gone, so init_db() just needs to save and pass
original_git_dir down to needs_work_tree_config().