Mercurial > evolve
changeset 1486:e8ebb2441e60 stable
inhibit: do not search for visible obsolete changeset during stripping
Stripping use transaction in an unorthodox way. We should not run the inhibit
postclose hooks as it can lead to crash.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 10 Aug 2015 00:24:15 -0700 |
parents | 72eab894a89d |
children | ee5391999f2d |
files | hgext/inhibit.py |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/inhibit.py Fri Aug 07 11:39:51 2015 -0700 +++ b/hgext/inhibit.py Mon Aug 10 00:24:15 2015 -0700 @@ -166,7 +166,7 @@ finally: lockmod.release(tr, lock) -def transactioncallback(orig, repo, *args, **kwargs): +def transactioncallback(orig, repo, desc, *args, **kwargs): """ Wrap localrepo.transaction to inhibit new obsolete changes """ def inhibitposttransaction(transaction): # At the end of the transaction we catch all the new visible and @@ -176,8 +176,9 @@ visibleobsolete = list(r for r in visibleobsolete if r not in ignoreset) if visibleobsolete: _inhibitmarkers(repo, [repo[r].node() for r in visibleobsolete]) - transaction = orig(repo, *args, **kwargs) - transaction.addpostclose('inhibitposttransaction', inhibitposttransaction) + transaction = orig(repo, desc, *args, **kwargs) + if desc != 'strip': + transaction.addpostclose('inhibitposttransaction', inhibitposttransaction) return transaction def extsetup(ui):