hgext/absorb.py
changeset 41813 b38c7304974f
parent 41812 c91321e86071
child 41830 c6a5009ed04a
equal deleted inserted replaced
41812:c91321e86071 41813:b38c7304974f
   846         parents = p1 and (p1, node.nullid)
   846         parents = p1 and (p1, node.nullid)
   847         extra = ctx.extra()
   847         extra = ctx.extra()
   848         if self._useobsolete and self.ui.configbool('absorb', 'add-noise'):
   848         if self._useobsolete and self.ui.configbool('absorb', 'add-noise'):
   849             extra['absorb_source'] = ctx.hex()
   849             extra['absorb_source'] = ctx.hex()
   850         mctx = overlaycontext(memworkingcopy, ctx, parents, extra=extra)
   850         mctx = overlaycontext(memworkingcopy, ctx, parents, extra=extra)
   851         # preserve phase
   851         return mctx.commit()
   852         with mctx.repo().ui.configoverride({
       
   853             ('phases', 'new-commit'): ctx.phase()}):
       
   854             return mctx.commit()
       
   855 
   852 
   856     @util.propertycache
   853     @util.propertycache
   857     def _useobsolete(self):
   854     def _useobsolete(self):
   858         """() -> bool"""
   855         """() -> bool"""
   859         return obsolete.isenabled(self.repo, obsolete.createmarkersopt)
   856         return obsolete.isenabled(self.repo, obsolete.createmarkersopt)
   860 
   857 
   861     def _cleanupoldcommits(self):
   858     def _cleanupoldcommits(self):
   862         replacements = {k: ([v] if v is not None else [])
   859         replacements = {k: ([v] if v is not None else [])
   863                         for k, v in self.replacemap.iteritems()}
   860                         for k, v in self.replacemap.iteritems()}
   864         if replacements:
   861         if replacements:
   865             scmutil.cleanupnodes(self.repo, replacements, operation='absorb')
   862             scmutil.cleanupnodes(self.repo, replacements, operation='absorb',
       
   863                                  fixphase=True)
   866 
   864 
   867 def _parsechunk(hunk):
   865 def _parsechunk(hunk):
   868     """(crecord.uihunk or patch.recordhunk) -> (path, (a1, a2, [bline]))"""
   866     """(crecord.uihunk or patch.recordhunk) -> (path, (a1, a2, [bline]))"""
   869     if type(hunk) not in (crecord.uihunk, patch.recordhunk):
   867     if type(hunk) not in (crecord.uihunk, patch.recordhunk):
   870         return None, None
   868         return None, None