From: Junio C Hamano Date: Tue, 08 May 2012 15:05:40 GMT Subject: Re: git checkout creates strange '(null)'-branch Message-ID: <7vhavqzpa3.fsf@alter.siamese.dyndns.org> In-Reply-To: Erik Faye-Lund writes: > Before this commit, the checkout would error out with "fatal: You are > on a branch yet to be born". Perhaps abe1998 was too optimistic about > allowing this, and something like this would be in order? > ---8<--- > diff --git a/builtin/checkout.c b/builtin/checkout.c > index 23fc56d..35924d4 100644 > --- a/builtin/checkout.c > +++ b/builtin/checkout.c > @@ -1091,7 +1091,7 @@ int cmd_checkout(int argc, const char **argv, > const char *prefix) > if (opts.writeout_stage) > die(_("--ours/--theirs is incompatible with switching branches.")); > > - if (!new.commit) { > + if (!new.commit && opts.new_branch) { > unsigned char rev[20]; > int flag; > ---8<--- The patch looks like it will avoid flipping the HEAD, and in that case we would go to switch_branches() codepath and will resurrect the old error message, so it seems correct. Thanks for digging.