Re: [PATCH v2 19/23] checkout: require worktree unconditionally
From: Eric Sunshine <hidden>
Date: 2016-06-15 23:05:39
On Fri, Jul 3, 2015 at 8:17 PM, Eric Sunshine [off-list ref] wrote:
In order to allow linked worktree creation via "git checkout -b" from a
s/-b/--to/
quoted hunk ↗ jump to hunk
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 <redacted> --- 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