Mercurial > evolve
changeset 1862:565f057bdc08
amend: allow clearing topics on amend
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Fri, 19 Jun 2015 16:23:29 -0500 |
parents | 972d4e0c3d44 |
children | 29fc43f24948 |
files | src/topic/__init__.py tests/test-topic.t |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/topic/__init__.py Fri Jun 19 16:16:42 2015 -0500 +++ b/src/topic/__init__.py Fri Jun 19 16:23:29 2015 -0500 @@ -63,6 +63,12 @@ current = self.currenttopic if current: ctx.extra()[constants.extrakey] = current + if (isinstance(ctx, context.memctx) and + ctx.extra().get('amend_source') and + ctx.topic() and + not self.currenttopic): + # we are amending and need to remove a topic + del ctx.extra()[constants.extrakey] return orig.commitctx(self, ctx, error=error) @property
--- a/tests/test-topic.t Fri Jun 19 16:16:42 2015 -0500 +++ b/tests/test-topic.t Fri Jun 19 16:23:29 2015 -0500 @@ -571,3 +571,16 @@ | date: Thu Jan 01 00:00:00 1970 +0000 | summary: start on fran | + +Clear and amend: + + $ hg topic --clear + $ hg ci --amend + $ hg log -r . + changeset: 18:a13639e22b65 + tag: tip + parent: 13:d91cd8fd490e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: fran? +