Show More
@@ -448,6 +448,7 b' class changelog(revlog.revlog):' | |||||
448 |
|
448 | |||
449 | def delayupdate(self, tr): |
|
449 | def delayupdate(self, tr): | |
450 | """delay visibility of index updates to other readers""" |
|
450 | """delay visibility of index updates to other readers""" | |
|
451 | assert not self._inner.is_open | |||
451 | if self._docket is None and not self._delayed: |
|
452 | if self._docket is None and not self._delayed: | |
452 | if len(self) == 0: |
|
453 | if len(self) == 0: | |
453 | self._divert = True |
|
454 | self._divert = True | |
@@ -468,6 +469,7 b' class changelog(revlog.revlog):' | |||||
468 |
|
469 | |||
469 | def _finalize(self, tr): |
|
470 | def _finalize(self, tr): | |
470 | """finalize index updates""" |
|
471 | """finalize index updates""" | |
|
472 | assert not self._inner.is_open | |||
471 | self._delayed = False |
|
473 | self._delayed = False | |
472 | self.opener = self._realopener |
|
474 | self.opener = self._realopener | |
473 | self._inner.opener = self.opener |
|
475 | self._inner.opener = self.opener | |
@@ -494,6 +496,7 b' class changelog(revlog.revlog):' | |||||
494 | def _writepending(self, tr): |
|
496 | def _writepending(self, tr): | |
495 | """create a file containing the unfinalized state for |
|
497 | """create a file containing the unfinalized state for | |
496 | pretxnchangegroup""" |
|
498 | pretxnchangegroup""" | |
|
499 | assert not self._inner.is_open | |||
497 | if self._docket: |
|
500 | if self._docket: | |
498 | return self._docket.write(tr, pending=True) |
|
501 | return self._docket.write(tr, pending=True) | |
499 | if self._delaybuf: |
|
502 | if self._delaybuf: |
@@ -620,6 +620,13 b' class _InnerRevlog:' | |||||
620 | """True is a writing context is open""" |
|
620 | """True is a writing context is open""" | |
621 | return self._writinghandles is not None |
|
621 | return self._writinghandles is not None | |
622 |
|
622 | |||
|
623 | @property | |||
|
624 | def is_open(self): | |||
|
625 | """True if any file handle is being held | |||
|
626 | ||||
|
627 | Used for assert and debug in the python code""" | |||
|
628 | return self._segmentfile.is_open or self._segmentfile_sidedata.is_open | |||
|
629 | ||||
623 | @contextlib.contextmanager |
|
630 | @contextlib.contextmanager | |
624 | def writing(self, transaction, data_end=None, sidedata_end=None): |
|
631 | def writing(self, transaction, data_end=None, sidedata_end=None): | |
625 | """Open the revlog files for writing |
|
632 | """Open the revlog files for writing |
@@ -50,6 +50,15 b' class randomaccessfile:' | |||||
50 | self._cached_chunk = b'' |
|
50 | self._cached_chunk = b'' | |
51 | self._cached_chunk_position = 0 |
|
51 | self._cached_chunk_position = 0 | |
52 |
|
52 | |||
|
53 | @property | |||
|
54 | def is_open(self): | |||
|
55 | """True if any file handle is being held | |||
|
56 | ||||
|
57 | Used for assert and debug in the python code""" | |||
|
58 | return ( | |||
|
59 | self.reading_handle is not None or self.writing_handle is not None | |||
|
60 | ) | |||
|
61 | ||||
53 | def _open(self, mode=b'r'): |
|
62 | def _open(self, mode=b'r'): | |
54 | """Return a file object""" |
|
63 | """Return a file object""" | |
55 | return self.opener(self.filename, mode=mode) |
|
64 | return self.opener(self.filename, mode=mode) |
General Comments 0
You need to be logged in to leave comments.
Login now