git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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'.

Previous: Stefan HallerNext: Stefan Haller
Message 5 of 6 in “Thoughts on the "branch <b> is not fully merged" error of "git-branch -d"”
  1. Stefan HallerSep 7, 2024
  2. Junio C HamanoSep 7, 2024
  3. Junio C HamanoSep 7, 2024
  4. Stefan HallerSep 7, 2024
  5. Junio C HamanoSep 7, 2024
  6. Stefan HallerSep 8, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.