The plan is to relocate "git checkout --to" functionality to "git worktree add", however, this check expects a 'struct branch_info' which git-worktree won't have at hand. It will, however, have access to its own command-line from which it can pick up the branch name. Therefore, as a preparatory step, rather than having prepare_linked_checkout() perform this check, make it the caller's responsibility. Signed-off-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> --- builtin/checkout.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/builtin/checkout.c b/builtin/checkout.c index f5f953d..0cb81ee 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -865,8 +865,6 @@ static int prepare_linked_checkout(const struct checkout_opts *opts, int counter = 0, len, ret; unsigned char rev[20]; - if (!new->commit) - die(_("no branch specified")); if (file_exists(path) && !is_empty_dir(path)) die(_("'%s' already exists"), path); @@ -1298,8 +1296,11 @@ static int checkout_branch(struct checkout_opts *opts, free(head_ref); } - if (opts->new_worktree) + if (opts->new_worktree) { + if (!new->commit) + die(_("no branch specified")); return prepare_linked_checkout(opts, new); + } if (!new->commit && opts->new_branch) { unsigned char rev[20]; -- 2.5.0.rc1.197.g417e668 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html