From 1445b59bb41c4b1a94b7cb0ec6864c98de63814b Mon Sep 17 00:00:00 2001 From: Vincent Driessen Date: Fri, 15 Apr 2016 08:32:45 +0200 Subject: Fix order of regex parts When both old/new mode and rename from/to lines are found, they will appear in different order. --- git/diff.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'git/diff.py') diff --git a/git/diff.py b/git/diff.py index fd13f988..d4affd30 100644 --- a/git/diff.py +++ b/git/diff.py @@ -199,11 +199,11 @@ class Diff(object): re_header = re.compile(r""" ^diff[ ]--git [ ](?:a/)?(?P.+?)[ ](?:b/)?(?P.+?)\n + (?:^old[ ]mode[ ](?P\d+)\n + ^new[ ]mode[ ](?P\d+)(?:\n|$))? (?:^similarity[ ]index[ ]\d+%\n ^rename[ ]from[ ](?P.*)\n ^rename[ ]to[ ](?P.*)(?:\n|$))? - (?:^old[ ]mode[ ](?P\d+)\n - ^new[ ]mode[ ](?P\d+)(?:\n|$))? (?:^new[ ]file[ ]mode[ ](?P.+)(?:\n|$))? (?:^deleted[ ]file[ ]mode[ ](?P.+)(?:\n|$))? (?:^index[ ](?P[0-9A-Fa-f]+) @@ -331,8 +331,9 @@ class Diff(object): previous_header = None for header in cls.re_header.finditer(text): a_path_fallback, b_path_fallback, \ + old_mode, new_mode, \ rename_from, rename_to, \ - old_mode, new_mode, new_file_mode, deleted_file_mode, \ + new_file_mode, deleted_file_mode, \ a_blob_id, b_blob_id, b_mode, \ a_path, b_path = header.groups() new_file, deleted_file = bool(new_file_mode), bool(deleted_file_mode) -- cgit v1.2.1