--- /home/dev/.local/lib/python3.7/site-packages/dulwich/pack.py 2021-08-04 17:01:37.362133450 +0200 +++ pack.py 2021-08-04 17:07:30.875342007 +0200 @@ -1439,7 +1439,8 @@ # Unlike PackData.get_object_at, there is no need to cache offsets as # this approach by design inflates each object exactly once. todo = [(offset, obj_type_num, base_chunks)] - for offset, obj_type_num, base_chunks in todo: + while todo: + (offset, obj_type_num, base_chunks) = todo.pop() unpacked = self._resolve_object(offset, obj_type_num, base_chunks) yield self._result(unpacked)