From: Junio C Hamano Date: Wed, 16 Sep 2009 21:26:56 +0000 (-0700) Subject: Merge branch 'jk/maint-1.6.3-checkout-unborn' into maint X-Git-Tag: v1.6.4.4~3 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/bd91890c62d85ec16aadd3fb991b3ad7a365adde?hp=-c Merge branch 'jk/maint-1.6.3-checkout-unborn' into maint * jk/maint-1.6.3-checkout-unborn: checkout: do not imply "-f" on unborn branches --- bd91890c62d85ec16aadd3fb991b3ad7a365adde diff --combined builtin-checkout.c index 8a9a474218,140168cec4..c6d6ac99f6 --- a/builtin-checkout.c +++ b/builtin-checkout.c @@@ -402,7 -402,9 +402,9 @@@ static int merge_working_tree(struct ch topts.dir = xcalloc(1, sizeof(*topts.dir)); topts.dir->flags |= DIR_SHOW_IGNORED; topts.dir->exclude_per_dir = ".gitignore"; - tree = parse_tree_indirect(old->commit->object.sha1); + tree = parse_tree_indirect(old->commit ? + old->commit->object.sha1 : + (unsigned char *)EMPTY_TREE_SHA1_BIN); init_tree_desc(&trees[0], tree->buffer, tree->size); tree = parse_tree_indirect(new->commit->object.sha1); init_tree_desc(&trees[1], tree->buffer, tree->size); @@@ -541,14 -543,6 +543,6 @@@ static int switch_branches(struct check parse_commit(new->commit); } - if (!old.commit && !opts->force) { - if (!opts->quiet) { - warning("You appear to be on a branch yet to be born."); - warning("Forcing checkout of %s.", new->name); - } - opts->force = 1; - } - ret = merge_working_tree(opts, &old, new); if (ret) return ret; @@@ -605,7 -599,7 +599,7 @@@ int cmd_checkout(int argc, const char * opts.track = BRANCH_TRACK_UNSPECIFIED; - argc = parse_options(argc, argv, options, checkout_usage, + argc = parse_options(argc, argv, prefix, options, checkout_usage, PARSE_OPT_KEEP_DASHDASH); /* --track without -b should DWIM */