##// END OF EJS Templates
branchmap: preparatory indent of indent the branch rev writing code...
Pierre-Yves David -
r29743:9f3c49ee default
parent child Browse files
Show More
@@ -470,48 +470,54 b' class revbranchcache(object):'
470 470 def write(self, tr=None):
471 471 """Save branch cache if it is dirty."""
472 472 repo = self._repo
473 if self._rbcnamescount < len(self._names):
474 try:
475 if self._rbcnamescount != 0:
476 f = repo.vfs.open(_rbcnames, 'ab')
477 if f.tell() == self._rbcsnameslen:
478 f.write('\0')
479 else:
480 f.close()
481 repo.ui.debug("%s changed - rewriting it\n" % _rbcnames)
482 self._rbcnamescount = 0
483 self._rbcrevslen = 0
484 if self._rbcnamescount == 0:
485 # before rewriting names, make sure references are removed
486 repo.vfs.unlinkpath(_rbcrevs, ignoremissing=True)
487 f = repo.vfs.open(_rbcnames, 'wb')
488 f.write('\0'.join(encoding.fromlocal(b)
489 for b in self._names[self._rbcnamescount:]))
490 self._rbcsnameslen = f.tell()
491 f.close()
492 except (IOError, OSError, error.Abort) as inst:
493 repo.ui.debug("couldn't write revision branch cache names: "
494 "%s\n" % inst)
495 return
496 self._rbcnamescount = len(self._names)
473 if True:
474 if self._rbcnamescount < len(self._names):
475 try:
476 if self._rbcnamescount != 0:
477 f = repo.vfs.open(_rbcnames, 'ab')
478 if f.tell() == self._rbcsnameslen:
479 f.write('\0')
480 else:
481 f.close()
482 repo.ui.debug("%s changed - rewriting it\n"
483 % _rbcnames)
484 self._rbcnamescount = 0
485 self._rbcrevslen = 0
486 if self._rbcnamescount == 0:
487 # before rewriting names, make sure references are
488 # removed
489 repo.vfs.unlinkpath(_rbcrevs, ignoremissing=True)
490 f = repo.vfs.open(_rbcnames, 'wb')
491 f.write('\0'.join(encoding.fromlocal(b)
492 for b in self._names[self._rbcnamescount:]
493 ))
494 self._rbcsnameslen = f.tell()
495 f.close()
496 except (IOError, OSError, error.Abort) as inst:
497 repo.ui.debug("couldn't write revision branch cache names: "
498 "%s\n" % inst)
499 return
500 self._rbcnamescount = len(self._names)
497 501
498 start = self._rbcrevslen * _rbcrecsize
499 if start != len(self._rbcrevs):
500 revs = min(len(repo.changelog), len(self._rbcrevs) // _rbcrecsize)
501 try:
502 f = repo.vfs.open(_rbcrevs, 'ab')
503 if f.tell() != start:
504 repo.ui.debug("truncating %s to %s\n" % (_rbcrevs, start))
505 f.seek(start)
502 start = self._rbcrevslen * _rbcrecsize
503 if start != len(self._rbcrevs):
504 revs = min(len(repo.changelog),
505 len(self._rbcrevs) // _rbcrecsize)
506 try:
507 f = repo.vfs.open(_rbcrevs, 'ab')
506 508 if f.tell() != start:
507 start = 0
509 repo.ui.debug("truncating %s to %s\n"
510 % (_rbcrevs, start))
508 511 f.seek(start)
509 f.truncate()
510 end = revs * _rbcrecsize
511 f.write(self._rbcrevs[start:end])
512 f.close()
513 except (IOError, OSError, error.Abort) as inst:
514 repo.ui.debug("couldn't write revision branch cache: %s\n" %
515 inst)
516 return
517 self._rbcrevslen = revs
512 if f.tell() != start:
513 start = 0
514 f.seek(start)
515 f.truncate()
516 end = revs * _rbcrecsize
517 f.write(self._rbcrevs[start:end])
518 f.close()
519 except (IOError, OSError, error.Abort) as inst:
520 repo.ui.debug("couldn't write revision branch cache: %s\n" %
521 inst)
522 return
523 self._rbcrevslen = revs
General Comments 0
You need to be logged in to leave comments. Login now