diff -r 62158471d038 -r dae8dda6f582 mercurial/debugcommands.py --- a/mercurial/debugcommands.py Sun Feb 19 02:50:46 2023 +0100 +++ b/mercurial/debugcommands.py Mon Feb 20 14:05:19 2023 +0100 @@ -3142,8 +3142,8 @@ dsnotadded = {f for f in dsonly if not dirstate.get_entry(f).added} changedfiles = manifestonly | dsnotadded - dirstate.rebuild(ctx.node(), ctx.manifest(), changedfiles) - dirstate.write(repo.currenttransaction()) + with dirstate.changing_parents(repo): + dirstate.rebuild(ctx.node(), ctx.manifest(), changedfiles) @command(