uncommit: use repo.setparents() instead of repo.dirstate.setparents() draft stable
authorAnton Shestakov <av6@dwimlabs.net>
Sun, 26 Jan 2020 20:52:25 +0700
branchstable
changeset 5248 fa20e48b7713
parent 5247 5a2e7c6f9174
child 5249 1bcfbcc934c1
uncommit: use repo.setparents() instead of repo.dirstate.setparents() setparents() was added to localrepository class in 2012, and now we finally have some differences between calling repo.setparents() vs repo.dirstate.setparents(): _quick_access_* things, introduced in hg 5.3. This patch fixes potential quick-access desync problems where repo[b'.'] would be different from repo.dirstate.p1().
hgext3rd/evolve/cmdrewrite.py
--- a/hgext3rd/evolve/cmdrewrite.py	Sun Jan 26 20:57:20 2020 +0700
+++ b/hgext3rd/evolve/cmdrewrite.py	Sun Jan 26 20:52:25 2020 +0700
@@ -582,7 +582,7 @@
             hg.updaterepo(repo, newid, True)
         else:
             with repo.dirstate.parentchange():
-                repo.dirstate.setparents(newid, node.nullid)
+                repo.setparents(newid, node.nullid)
                 _uncommitdirstate(repo, old, match, interactive)
         if not repo[newid].files():
             ui.warn(_(b"new changeset is empty\n"))