Re: git checkout creates strange '(null)'-branch
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 8, 2012, 15:05 UTC
- Message-ID
- <7vhavqzpa3.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CABPQNSZbgZsQBReSqOskNQ4oZokHSibVr=yHdn6oSFjtdRvVVA@mail.gmail.com>
Erik Faye-Lund <kusmabite@gmail.com> 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?
Show 15 quoted lines
> ---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.