Mercurial > hg
diff hgext/absorb.py @ 45712:0a330055340c
absorb: update commit hash references in the new commits
Differential Revision: https://phab.mercurial-scm.org/D9182
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 09 Oct 2020 00:14:07 -0400 |
parents | c87bd1fe3da2 |
children | ac362d5a7893 |
line wrap: on
line diff
--- a/hgext/absorb.py Thu Oct 08 23:33:04 2020 -0400 +++ b/hgext/absorb.py Fri Oct 09 00:14:07 2020 -0400 @@ -244,7 +244,7 @@ return content, mode, copy -def overlaycontext(memworkingcopy, ctx, parents=None, extra=None): +def overlaycontext(memworkingcopy, ctx, parents=None, extra=None, desc=None): """({path: content}, ctx, (p1node, p2node)?, {}?) -> memctx memworkingcopy overrides file contents. """ @@ -253,8 +253,9 @@ parents = ctx.repo().changelog.parents(ctx.node()) if extra is None: extra = ctx.extra() + if desc is None: + desc = ctx.description() date = ctx.date() - desc = ctx.description() user = ctx.user() files = set(ctx.files()).union(memworkingcopy) store = overlaystore(ctx, memworkingcopy) @@ -923,7 +924,18 @@ extra = ctx.extra() if self._useobsolete and self.ui.configbool(b'absorb', b'add-noise'): extra[b'absorb_source'] = ctx.hex() - mctx = overlaycontext(memworkingcopy, ctx, parents, extra=extra) + + desc = rewriteutil.update_hash_refs( + ctx.repo(), + ctx.description(), + { + oldnode: [newnode] + for oldnode, newnode in self.replacemap.items() + }, + ) + mctx = overlaycontext( + memworkingcopy, ctx, parents, extra=extra, desc=desc + ) return mctx.commit() @util.propertycache