[PATCH 6 of 6] hidden: alert hidden store when obsmarkers are created
Durham Goode
durham at fb.com
Thu May 18 14:24:00 EDT 2017
# HG changeset patch
# User Durham Goode <durham at fb.com>
# Date 1495129620 25200
# Thu May 18 10:47:00 2017 -0700
# Node ID b09fa310c34bdbad4fc2b5b914e84e0fc9dc4b68
# Parent 0979ce9d40803103441b6df1ebefafe80bb9a057
hidden: alert hidden store when obsmarkers are created
This calls the new updatevisibility function from obsolete.createmarkers(). This
let's us update the currently stored hidden information when markers change.
diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py
--- a/mercurial/obsolete.py
+++ b/mercurial/obsolete.py
@@ -1226,6 +1226,7 @@ def createmarkers(repo, relations, flag=
metadata['user'] = repo.ui.username()
tr = repo.transaction('add-obsolescence-marker')
try:
+ affectednodes = set()
markerargs = []
for rel in relations:
prec = rel[0]
@@ -1258,6 +1259,11 @@ def createmarkers(repo, relations, flag=
repo.obsstore.create(tr, nprec, nsucs, flag, parents=npare,
date=date, metadata=localmetadata)
repo.filteredrevcache.clear()
+ affectednodes.add(nprec)
+
+ cl = repo.unfiltered().changelog
+ affectedrevs = (cl.rev(n) for n in affectednodes if n in cl.nodemap)
+ repo.hidden.updatevisibility(affectedrevs)
tr.close()
finally:
tr.release()
More information about the Mercurial-devel
mailing list