Re: Thoughts on the "branch <b> is not fully merged" error of "git-branch -d"
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 7, 2024, 20:00 UTC
- Message-ID
- <xmqqmskjw7wr.fsf@gitster.g>
- In-Reply-To
- <d97a69bc-85f0-46e3-8c99-0e5556ffdc9a@haller-berlin.de>
Stefan Haller <lists@haller-berlin.de> writes:
Show 10 quoted lines
>> 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'.