@@ -415,13 +415,14 @@ def _index_from_patch_format(cls, repo, proc):
415415 text = b'' .join (text )
416416 index = DiffIndex ()
417417 previous_header = None
418- for header in cls .re_header .finditer (text ):
418+ header = None
419+ for _header in cls .re_header .finditer (text ):
419420 a_path_fallback , b_path_fallback , \
420421 old_mode , new_mode , \
421422 rename_from , rename_to , \
422423 new_file_mode , deleted_file_mode , \
423424 a_blob_id , b_blob_id , b_mode , \
424- a_path , b_path = header .groups ()
425+ a_path , b_path = _header .groups ()
425426
426427 new_file , deleted_file = bool (new_file_mode ), bool (deleted_file_mode )
427428
@@ -431,7 +432,7 @@ def _index_from_patch_format(cls, repo, proc):
431432 # Our only means to find the actual text is to see what has not been matched by our regex,
432433 # and then retro-actively assign it to our index
433434 if previous_header is not None :
434- index [- 1 ].diff = text [previous_header .end ():header .start ()]
435+ index [- 1 ].diff = text [previous_header .end ():_header .start ()]
435436 # end assign actual diff
436437
437438 # Make sure the mode is set if the path is set. Otherwise the resulting blob is invalid
@@ -450,7 +451,8 @@ def _index_from_patch_format(cls, repo, proc):
450451 rename_to ,
451452 None , None , None ))
452453
453- previous_header = header
454+ previous_header = _header
455+ header = _header
454456 # end for each header we parse
455457 if index :
456458 index [- 1 ].diff = text [header .end ():]
0 commit comments