diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-09-16 14:26:56 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-09-16 14:26:56 -0700 |
commit | bd91890c62d85ec16aadd3fb991b3ad7a365adde (patch) | |
tree | 5de2eda652f29103c0d160f8c05d7e83b653a157 /builtin-checkout.c | |
parent | bba287531b3a845faa032a8fef3e6d70d185c89b (diff) | |
parent | cc580af88507ce02eca1a3a6512044dd19c84d80 (diff) | |
download | git-bd91890c62d85ec16aadd3fb991b3ad7a365adde.tar.gz git-bd91890c62d85ec16aadd3fb991b3ad7a365adde.tar.xz |
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
Diffstat (limited to 'builtin-checkout.c')
-rw-r--r-- | builtin-checkout.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/builtin-checkout.c b/builtin-checkout.c index 8a9a47421..c6d6ac99f 100644 --- a/builtin-checkout.c +++ b/builtin-checkout.c @@ -402,7 +402,9 @@ static int merge_working_tree(struct checkout_opts *opts, 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 @@ static int switch_branches(struct checkout_opts *opts, struct branch_info *new) 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; |