diff --git a/mercurial/util.py b/mercurial/util.py index 40d930848fd01522618be181277dd6ad5ef7f08a_bWVyY3VyaWFsL3V0aWwucHk=..37e081609828b57c15eb635d57011f7fc3ad5497_bWVyY3VyaWFsL3V0aWwucHk= 100644 --- a/mercurial/util.py +++ b/mercurial/util.py @@ -870,10 +870,10 @@ else: yield chunk self.iter = splitbig(in_iter) - self._queue = [] + self._queue = deque() def read(self, l): """Read L bytes of data from the iterator of chunks of data. Returns less than L bytes if the iterator runs dry.""" left = l buf = '' @@ -874,10 +874,10 @@ def read(self, l): """Read L bytes of data from the iterator of chunks of data. Returns less than L bytes if the iterator runs dry.""" left = l buf = '' - queue = deque(self._queue) + queue = self._queue while left > 0: # refill the queue if not queue: @@ -897,7 +897,6 @@ buf += chunk[:left] else: buf += chunk - self._queue = list(queue) return buf