Show More
@@ -476,27 +476,23 b' class revbranchcache(object):' | |||
|
476 | 476 | if self._rbcnamescount < len(self._names): |
|
477 | 477 | step = ' names' |
|
478 | 478 | wlock = repo.wlock(wait=False) |
|
479 |
if |
|
|
480 |
|
|
|
481 |
|
|
|
482 |
|
|
|
483 |
|
|
|
484 |
|
|
|
485 | f.close() | |
|
486 | repo.ui.debug("%s changed - rewriting it\n" | |
|
487 | % _rbcnames) | |
|
488 |
|
|
|
489 | self._rbcrevslen = 0 | |
|
490 | if self._rbcnamescount == 0: | |
|
491 | # before rewriting names, make sure references are | |
|
492 | # removed | |
|
493 | repo.vfs.unlinkpath(_rbcrevs, ignoremissing=True) | |
|
494 | f = repo.vfs.open(_rbcnames, 'wb') | |
|
495 | f.write('\0'.join(encoding.fromlocal(b) | |
|
496 | for b in self._names[self._rbcnamescount:] | |
|
497 | )) | |
|
498 | self._rbcsnameslen = f.tell() | |
|
499 | f.close() | |
|
479 | if self._rbcnamescount != 0: | |
|
480 | f = repo.vfs.open(_rbcnames, 'ab') | |
|
481 | if f.tell() == self._rbcsnameslen: | |
|
482 | f.write('\0') | |
|
483 | else: | |
|
484 | f.close() | |
|
485 | repo.ui.debug("%s changed - rewriting it\n" % _rbcnames) | |
|
486 | self._rbcnamescount = 0 | |
|
487 | self._rbcrevslen = 0 | |
|
488 | if self._rbcnamescount == 0: | |
|
489 | # before rewriting names, make sure references are removed | |
|
490 | repo.vfs.unlinkpath(_rbcrevs, ignoremissing=True) | |
|
491 | f = repo.vfs.open(_rbcnames, 'wb') | |
|
492 | f.write('\0'.join(encoding.fromlocal(b) | |
|
493 | for b in self._names[self._rbcnamescount:])) | |
|
494 | self._rbcsnameslen = f.tell() | |
|
495 | f.close() | |
|
500 | 496 | self._rbcnamescount = len(self._names) |
|
501 | 497 | |
|
502 | 498 | start = self._rbcrevslen * _rbcrecsize |
@@ -506,19 +502,17 b' class revbranchcache(object):' | |||
|
506 | 502 | wlock = repo.wlock(wait=False) |
|
507 | 503 | revs = min(len(repo.changelog), |
|
508 | 504 | len(self._rbcrevs) // _rbcrecsize) |
|
509 | if True: | |
|
510 | f = repo.vfs.open(_rbcrevs, 'ab') | |
|
505 | f = repo.vfs.open(_rbcrevs, 'ab') | |
|
506 | if f.tell() != start: | |
|
507 | repo.ui.debug("truncating %s to %s\n" % (_rbcrevs, start)) | |
|
508 | f.seek(start) | |
|
511 | 509 | if f.tell() != start: |
|
512 | repo.ui.debug("truncating %s to %s\n" | |
|
513 | % (_rbcrevs, start)) | |
|
510 | start = 0 | |
|
514 | 511 | f.seek(start) |
|
515 |
|
|
|
516 | start = 0 | |
|
517 |
|
|
|
518 |
|
|
|
519 | end = revs * _rbcrecsize | |
|
520 | f.write(self._rbcrevs[start:end]) | |
|
521 | f.close() | |
|
512 | f.truncate() | |
|
513 | end = revs * _rbcrecsize | |
|
514 | f.write(self._rbcrevs[start:end]) | |
|
515 | f.close() | |
|
522 | 516 | self._rbcrevslen = revs |
|
523 | 517 | except (IOError, OSError, error.Abort, error.LockError) as inst: |
|
524 | 518 | repo.ui.debug("couldn't write revision branch cache%s: %s\n" |
General Comments 0
You need to be logged in to leave comments.
Login now