# HG changeset patch # User Dirkjan Ochtman # Date 1244619345 -7200 # Node ID 94f7e8c53c36829a321928f778135ef7892a5aa6 # Parent f13dd964d10c7c46e06aced7fd0af535baa36815 tags: end branch while tagging instead of creating extra changeset diff --git a/hgsubversion/hg_delta_editor.py b/hgsubversion/hg_delta_editor.py --- a/hgsubversion/hg_delta_editor.py +++ b/hgsubversion/hg_delta_editor.py @@ -584,6 +584,8 @@ class HgChangeReceiver(delta.Editor): extra = util.build_extra(rev.revnum, b, self.uuid, self.subdir) if not self.usebranchnames: extra.pop('branch', None) + if b in endbranches: + extra['close'] = 1 ctx = context.memctx(self.repo, (parent.node(), node.nullid), rev.message or ' ', @@ -596,7 +598,9 @@ class HgChangeReceiver(delta.Editor): if (rev.revnum, b) not in self.revmap: self.add_to_revmap(rev.revnum, b, new) if b in endbranches: - endbranches[b] = new + endbranches.pop(b) + bname = b or 'default' + self.ui.status('Marked branch %s as closed.\n' % bname) def commit_current_delta(self, tbdelta): if hasattr(self, '_exception_info'): #pragma: no cover diff --git a/tests/test_tags.py b/tests/test_tags.py --- a/tests/test_tags.py +++ b/tests/test_tags.py @@ -56,7 +56,7 @@ class TestTags(test_util.TestBase): stupid=stupid) branches = set(repo[h] for h in repo.heads(closed=False)) self.assert_('dummy' not in branches) - self.assertEqual(repo['dummy'], repo['tip'].parents()[0].parents()[0]) + self.assertEqual(repo['dummy'], repo['tip'].parents()[0]) extra = repo['tip'].extra().copy() extra.pop('convert_revision', None) self.assertEqual(extra, {'branch': 'dummy', 'close': '1'})