comparison mercurial/revlog.py @ 51000:273434748051

revlog: document the `get_streams` method A small docstring does not hurt.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 19 Sep 2023 23:09:29 +0200
parents 4ea606568f61
children 39fa0b948f5a
comparison
equal deleted inserted replaced
50999:4ea606568f61 51000:273434748051
515 return fp.read(size) 515 return fp.read(size)
516 except FileNotFoundError: 516 except FileNotFoundError:
517 return b'' 517 return b''
518 518
519 def get_streams(self, max_linkrev, force_inline=False): 519 def get_streams(self, max_linkrev, force_inline=False):
520 """return a list of streams that represent this revlog
521
522 This is used by stream-clone to do bytes to bytes copies of a repository.
523
524 This streams data for all revisions that refer to a changelog revision up
525 to `max_linkrev`.
526
527 If `force_inline` is set, it enforces that the stream will represent an inline revlog.
528
529 It returns is a list of three-tuple:
530
531 [
532 (filename, bytes_stream, stream_size),
533
534 ]
535 """
520 n = len(self) 536 n = len(self)
521 index = self.index 537 index = self.index
522 while n > 0: 538 while n > 0:
523 linkrev = index[n - 1][4] 539 linkrev = index[n - 1][4]
524 if linkrev < max_linkrev: 540 if linkrev < max_linkrev: