comparison mercurial/util.py @ 51700:7f0cb9ee0534

Backout accidental publication of a large range of revisions I accidentally published 25e7f9dcad0f::bd1483fd7088, this is the inverse.
author Raphaël Gomès <rgomes@octobus.net>
date Tue, 23 Jul 2024 10:02:46 +0200
parents 493034cc3265
children b0a4de6c14f8
comparison
equal deleted inserted replaced
51699:bd1483fd7088 51700:7f0cb9ee0534
1150 1150
1151 1151
1152 def version(): 1152 def version():
1153 """Return version information if available.""" 1153 """Return version information if available."""
1154 try: 1154 try:
1155 from . import __version__ # type: ignore 1155 from . import __version__
1156 1156
1157 return __version__.version 1157 return __version__.version
1158 except ImportError: 1158 except ImportError:
1159 return b'unknown' 1159 return b'unknown'
1160 1160
1326 self[k] = v 1326 self[k] = v
1327 for k in f: 1327 for k in f:
1328 self[k] = f[k] 1328 self[k] = f[k]
1329 1329
1330 def insert(self, position, key, value): 1330 def insert(self, position, key, value):
1331 for i, (k, v) in enumerate(list(self.items())): 1331 for (i, (k, v)) in enumerate(list(self.items())):
1332 if i == position: 1332 if i == position:
1333 self[key] = value 1333 self[key] = value
1334 if i >= position: 1334 if i >= position:
1335 del self[k] 1335 del self[k]
1336 self[k] = v 1336 self[k] = v
2722 def __init__(self, in_iter): 2722 def __init__(self, in_iter):
2723 """in_iter is the iterator that's iterating over the input chunks.""" 2723 """in_iter is the iterator that's iterating over the input chunks."""
2724 2724
2725 def splitbig(chunks): 2725 def splitbig(chunks):
2726 for chunk in chunks: 2726 for chunk in chunks:
2727 if len(chunk) > 2**20: 2727 if len(chunk) > 2 ** 20:
2728 pos = 0 2728 pos = 0
2729 while pos < len(chunk): 2729 while pos < len(chunk):
2730 end = pos + 2**18 2730 end = pos + 2 ** 18
2731 yield chunk[pos:end] 2731 yield chunk[pos:end]
2732 pos = end 2732 pos = end
2733 else: 2733 else:
2734 yield chunk 2734 yield chunk
2735 2735
2749 buf = [] 2749 buf = []
2750 queue = self._queue 2750 queue = self._queue
2751 while left > 0: 2751 while left > 0:
2752 # refill the queue 2752 # refill the queue
2753 if not queue: 2753 if not queue:
2754 target = 2**18 2754 target = 2 ** 18
2755 for chunk in self.iter: 2755 for chunk in self.iter:
2756 queue.append(chunk) 2756 queue.append(chunk)
2757 target -= len(chunk) 2757 target -= len(chunk)
2758 if target <= 0: 2758 if target <= 0:
2759 break 2759 break
3079 3079
3080 return wrapper 3080 return wrapper
3081 3081
3082 3082
3083 _sizeunits = ( 3083 _sizeunits = (
3084 (b'm', 2**20), 3084 (b'm', 2 ** 20),
3085 (b'k', 2**10), 3085 (b'k', 2 ** 10),
3086 (b'g', 2**30), 3086 (b'g', 2 ** 30),
3087 (b'kb', 2**10), 3087 (b'kb', 2 ** 10),
3088 (b'mb', 2**20), 3088 (b'mb', 2 ** 20),
3089 (b'gb', 2**30), 3089 (b'gb', 2 ** 30),
3090 (b'b', 1), 3090 (b'b', 1),
3091 ) 3091 )
3092 3092
3093 3093
3094 def sizetoint(s: bytes) -> int: 3094 def sizetoint(s: bytes) -> int: