# HG changeset patch # User Pierre-Yves David # Date 1676898319 -3600 # Node ID dae8dda6f5822cdcac61a24e78f7935de7af9618 # Parent 62158471d038915faf47d57192fdb00244e7680a debugrebuildstate: wrap the operation in a `changing_parents` context This ismaybe a "changing_files" case? However this would be the only usage of `rebuild` outside a `changing_parents` context and this is a debug command, so lets not make the code base more complex because of that one command. 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(