On Fri, Jul 3, 2015 at 8:17 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 45 quoted lines
> bare repository, 3473ad0 (checkout: don't require a work tree when
> checking out into a new one, 2014-11-30) dropped git-checkout's
> unconditional NEED_WORK_TREE requirement and instead performed worktree
> setup conditionally based upon presence or absence of the --to option.
> Now that --to has been retired and git-checkout is no longer responsible
> for linked worktree creation, the NEED_WORK_TREE requirement can once
> again be unconditional.
>
> This effectively reverts 3473ad0, except for the tests it added which
> now check bare repository behavior of "git worktree add" instead.
>
> Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
> ---
> builtin/checkout.c | 2 --
> git.c | 2 +-
> 2 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/builtin/checkout.c b/builtin/checkout.c
> index b1e68b3..5754554 100644
> --- a/builtin/checkout.c
> +++ b/builtin/checkout.c
> @@ -1218,8 +1218,6 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
>
> opts.new_worktree_mode = getenv("GIT_CHECKOUT_NEW_WORKTREE") != NULL;
>
> - setup_work_tree();
> -
> if (conflict_style) {
> opts.merge = 1; /* implied */
> git_xmerge_config("merge.conflictstyle", conflict_style, NULL);
> diff --git a/git.c b/git.c
> index f227838..21a6398 100644
> --- a/git.c
> +++ b/git.c
> @@ -383,7 +383,7 @@ static struct cmd_struct commands[] = {
> { "check-ignore", cmd_check_ignore, RUN_SETUP | NEED_WORK_TREE },
> { "check-mailmap", cmd_check_mailmap, RUN_SETUP },
> { "check-ref-format", cmd_check_ref_format },
> - { "checkout", cmd_checkout, RUN_SETUP },
> + { "checkout", cmd_checkout, RUN_SETUP | NEED_WORK_TREE },
> { "checkout-index", cmd_checkout_index,
> RUN_SETUP | NEED_WORK_TREE},
> { "cherry", cmd_cherry, RUN_SETUP },
> --
> 2.5.0.rc1.197.g417e668