equal
deleted
inserted
replaced
374 # life cycle handling #################################################### |
374 # life cycle handling #################################################### |
375 |
375 |
376 def __enter__(self): |
376 def __enter__(self): |
377 assert not self._open |
377 assert not self._open |
378 self._open = True |
378 self._open = True |
379 self.cnxset = self.repo._get_cnxset() |
379 self.cnxset = self.repo.cnxsets.get() |
380 if self.lang is None: |
380 if self.lang is None: |
381 self.set_language(self.user.prefered_language()) |
381 self.set_language(self.user.prefered_language()) |
382 return self |
382 return self |
383 |
383 |
384 def __exit__(self, exctype=None, excvalue=None, tb=None): |
384 def __exit__(self, exctype=None, excvalue=None, tb=None): |
385 assert self._open # actually already open |
385 assert self._open # actually already open |
386 self.rollback() |
386 self.rollback() |
387 self._open = False |
387 self._open = False |
388 self.cnxset.cnxset_freed() |
388 self.cnxset.cnxset_freed() |
389 self.repo._free_cnxset(self.cnxset) |
389 self.repo.cnxsets.release(self.cnxset) |
390 self.cnxset = None |
390 self.cnxset = None |
391 |
391 |
392 @contextmanager |
392 @contextmanager |
393 def running_hooks_ops(self): |
393 def running_hooks_ops(self): |
394 """this context manager should be called whenever hooks or operations |
394 """this context manager should be called whenever hooks or operations |