Re: [Question] builtin/branch.c
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Oct 14, 2018, 10:19 UTC
- Message-ID
- <CACBZZX7i-Uob9EJ8GeDKYVTyKtdRiy=qPbxSOe=FGh2cbHG9Zw@mail.gmail.com>
- In-Reply-To
- <20181013081101.6602-1-taoqy@ls-a.me>
On Sat, Oct 13, 2018 at 10:12 AM Tao Qingyun <taoqy@ls-a.me> wrote:
Show 12 quoted lines
> Hi, I am learning `builtin/branch.c`. I find that it will call `branch_get`
> before create and [un]set upstream, and die with "no such branch" if failed.
> but `branch_get` seems never fail, it is a get_or_create. Also, it was
> confused that getting a branch before it has created.
>
> builtin/branch.c #811
>
> } else if (argc > 0 && argc <= 2) {
> struct branch *branch = branch_get(argv[0]);
>
> if (!branch)
> die(_("no such branch '%s'"), argv[0]);From my reading of the source you're correct. That !branch case is pointless. The only way that function can fail is in the x*() family of functions, which'll make the function die instead of returning NULL.