Stefan Haller <lists@xxxxxxxxxxxxxxxx> 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'.