Subject: Re: Thoughts on the "branch <b> is not fully merged" error of "git-branch -d"

From: Junio C Hamano <[email-masked]>
Date: Sat, 07 Sep 2024 13:00:52 -0700

Stefan Haller <[email-masked]> writes:

>> Having said all that, I do not mind if somebody wanted to further
>> extend builtin/branch.c:branch_merged() so that users can explicitly
>> configure a set of reference branches.  "The 'master' and 'maint'
>> are the integration branches that are used in this repository.
>> Unless the history of a local branch is fully merged to one of
>> these, 'git branch -d' of such a local branch will stop." may be a
>> reasonable thing to do.
>
> This makes sense to me (if you include the upstreams of master and maint
> in that logic, because the local ones might not be up to date).

I get the idea behind that statement, but I do not think it is
necessary to make Git second guess the end user is warranted in this
case.

If refs/heads/master builds on top of refs/remotes/origin/master,
and if the user is worried about the former being not up to date
relative to the latter, then the user can say "'branch -d' is safe
if the commit is merged in refs/remotes/origin/master", instead of
telling the command to check with 'refs/heads/master'.