Mercurial > hg
comparison mercurial/bundle2.py @ 32326:99515353c72a stable
obsolete: invalidate "volatile" set cache after merging marker
Adding markers to the repository might affect the set of obsolete changesets. So we
most remove the "volatile" set who rely in that data. We add two missing
invalidations after merging markers. This was caught by code change in the evolve
extensions tests.
This issues highlight that the current way to do things is a bit fragile,
however we keep things simple for stable.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 17 May 2017 15:39:37 +0200 |
parents | ad41739c6b2b |
children | 655f1e2cfa5a |
comparison
equal
deleted
inserted
replaced
32207:176ed32dc159 | 32326:99515353c72a |
---|---|
1629 # we want to avoid this if the part is advisory. | 1629 # we want to avoid this if the part is advisory. |
1630 if not inpart.mandatory and op.repo.obsstore.readonly: | 1630 if not inpart.mandatory and op.repo.obsstore.readonly: |
1631 op.repo.ui.debug('ignoring obsolescence markers, feature not enabled') | 1631 op.repo.ui.debug('ignoring obsolescence markers, feature not enabled') |
1632 return | 1632 return |
1633 new = op.repo.obsstore.mergemarkers(tr, markerdata) | 1633 new = op.repo.obsstore.mergemarkers(tr, markerdata) |
1634 op.repo.invalidatevolatilesets() | |
1634 if new: | 1635 if new: |
1635 op.repo.ui.status(_('%i new obsolescence markers\n') % new) | 1636 op.repo.ui.status(_('%i new obsolescence markers\n') % new) |
1636 op.records.add('obsmarkers', {'new': new}) | 1637 op.records.add('obsmarkers', {'new': new}) |
1637 if op.reply is not None: | 1638 if op.reply is not None: |
1638 rpart = op.reply.newpart('reply:obsmarkers') | 1639 rpart = op.reply.newpart('reply:obsmarkers') |