mercurial/transaction.py
changeset 44097 2f1d6180737f
parent 44056 8e09551206f5
child 44406 baf8c3f944eb
equal deleted inserted replaced
44096:e598c874b4af 44097:2f1d6180737f
   504         '''commit the transaction'''
   504         '''commit the transaction'''
   505         if self._count == 1:
   505         if self._count == 1:
   506             self._validator(self)  # will raise exception if needed
   506             self._validator(self)  # will raise exception if needed
   507             self._validator = None  # Help prevent cycles.
   507             self._validator = None  # Help prevent cycles.
   508             self._generatefiles(group=gengroupprefinalize)
   508             self._generatefiles(group=gengroupprefinalize)
   509             categories = sorted(self._finalizecallback)
   509             while self._finalizecallback:
   510             for cat in categories:
   510                 callbacks = self._finalizecallback
   511                 self._finalizecallback[cat](self)
   511                 self._finalizecallback = {}
       
   512                 categories = sorted(callbacks)
       
   513                 for cat in categories:
       
   514                     callbacks[cat](self)
   512             # Prevent double usage and help clear cycles.
   515             # Prevent double usage and help clear cycles.
   513             self._finalizecallback = None
   516             self._finalizecallback = None
   514             self._generatefiles(group=gengrouppostfinalize)
   517             self._generatefiles(group=gengrouppostfinalize)
   515 
   518 
   516         self._count -= 1
   519         self._count -= 1