From: D. Ben Knoble Date: Tue, 29 Sep 2026 11:18:43 GMT Subject: Re: [PATCH] branch: let --delete-merged find squash merged branches Message-ID: In-Reply-To: On Tue, Sep 29, 2026 at 4:17 AM Kristoffer Haugsbakk wrote: > > On Tue, Sep 29, 2026, at 09:52, Harald Nordgren wrote: > > On Tue, Sep 29, 2026 at 9:47 AM Kristoffer Haugsbakk > > wrote: > >> > >> On Tue, Sep 29, 2026, at 09:30, Harald Nordgren via GitGitGadget wrote: > >> > From: Harald Nordgren > >> > > >> > Branches merged on GitHub with "Squash and merge" or "Rebase and > >> > merge" are never deleted by "git branch --delete-merged". The upstream > >> > holds a rewritten copy of their work, so their tips are not reachable > >> > from it and they look unmerged forever. > >> > >> An example closer to git(1)’s home: > >> > >> git merge --squash > >> git commit > > > > True. But likely it opens up the question of _why_ would anyone on > > upstream be doing such destructive actions? Well, then the answer is > > of course that millions of users (including) me do that via GitHub all > > the time. > > > > Maybe I should include both examples in my text. > > My *guess* is that `git merge --squash` inspired the forge squashes. > But the forges popularized it. > > The apparent `git merge --squash` approach of using `git log` for > concatenating the commit messages isn’t that nice in my opinion. So I > wonder how much it is used. The same behavior is present in GitHub's default squash merge message, and almost no one I work with bothers to edit it. It's really sad to lose the opportunity to have good commit messages when using squash-and-merge on a forge---not because we *cannot*, but because the defaults do not *encourage* it (and we all know how defaults affect user behavior!). Anyway, see https://benknoble.github.io/blog/2024/08/02/github-squash/ for a distillation of my thoughts from working around folks that squash carelessly. So, anecdotally: it is used widely due to defaults. Blech. -- D. Ben Knoble