# HG changeset patch # User Gilles Moris # Date 2010-05-10 06:43:36 # Node ID acd61dc44a397ead4eab09b9dd78b35f75cdb856 # Parent d6f378562397b976c662a92284f89f19b75911ed commit: prevent closing non-head changesets diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -717,6 +717,10 @@ def commit(ui, repo, *pats, **opts): """ extra = {} if opts.get('close_branch'): + if repo['.'].node() not in repo.branchheads(): + # The topo heads set is included in the branch heads set of the + # current branch, so it's sufficient to test branchheads + raise util.Abort(_('can only close branch heads')) extra['close'] = 1 e = cmdutil.commiteditor if opts.get('force_editor'):