obsolete: clever obsolete not in secret detection to avoid locking the repo without a reason.
diff --git a/hgext/obsolete.py b/hgext/obsolete.py --- a/hgext/obsolete.py +++ b/hgext/obsolete.py @@ -497,11 +497,12 @@ def reposetup(ui, repo): repo.__class__ = obsoletingrepo if repo.ui.configbool('obsolete', 'secret-unstable', True): - obsoletes = [c.node() for c in repo.set('obsolete()')] - lock = repo.lock() - try: - phases.retractboundary(repo, 2, obsoletes) - finally: - lock.release() + expobs = [c.node() for c in repo.set('obsolete() - secret()')] + if expobs: # do not lock in nothing move. locking for peanut make hgview reload on any command + lock = repo.lock() + try: + phases.retractboundary(repo, 2, expobs) + finally: + lock.release()