# HG changeset patch # User Mads Kiilerich # Date 1451043193 -3600 # Node ID 2bf5e8731154a0bec3a0d6ad0ee0e84664daff37 # Parent 20699dd652ff017117f3ff7a81ad33d69771c01d git: fix parsing of git mode change + rename diffs Assume mode lines come first, like for hg diffs. diff -r 20699dd652ff -r 2bf5e8731154 kallithea/lib/diffs.py --- a/kallithea/lib/diffs.py Fri Dec 25 12:32:47 2015 +0100 +++ b/kallithea/lib/diffs.py Fri Dec 25 12:33:13 2015 +0100 @@ -160,11 +160,11 @@ # has already been split on this: # ^diff[ ]--git [ ]a/(?P.+?)[ ]b/(?P.+?)\n + (?:^old[ ]mode[ ](?P\d+)\n + ^new[ ]mode[ ](?P\d+)(?:\n|$))? (?:^similarity[ ]index[ ](?P\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]+) diff -r 20699dd652ff -r 2bf5e8731154 kallithea/tests/fixtures/git_diff_rename_file.diff --- a/kallithea/tests/fixtures/git_diff_rename_file.diff Fri Dec 25 12:32:47 2015 +0100 +++ b/kallithea/tests/fixtures/git_diff_rename_file.diff Fri Dec 25 12:33:13 2015 +0100 @@ -2,3 +2,9 @@ similarity index 100% rename from work-horus.xls rename to file.xls +diff --git a/files/var/www/favicon.ico b/files/var/www/favicon.ico/DEFAULT +old mode 100644 +new mode 100755 +similarity index 100% +rename from files/var/www/favicon.ico +rename to files/var/www/favicon.ico/DEFAULT diff -r 20699dd652ff -r 2bf5e8731154 kallithea/tests/models/test_diff_parsers.py --- a/kallithea/tests/models/test_diff_parsers.py Fri Dec 25 12:32:47 2015 +0100 +++ b/kallithea/tests/models/test_diff_parsers.py Fri Dec 25 12:33:13 2015 +0100 @@ -133,7 +133,14 @@ {'added': 0, 'deleted': 0, 'binary': True, - 'ops': {RENAMED_FILENODE: 'file renamed from work-horus.xls to file.xls'}}) + 'ops': {RENAMED_FILENODE: 'file renamed from work-horus.xls to file.xls'}}), + ('files/var/www/favicon.ico/DEFAULT', + 'R', + {'added': 0, + 'binary': True, + 'deleted': 0, + 'ops': {4: 'file renamed from files/var/www/favicon.ico to files/var/www/favicon.ico/DEFAULT', + 6: 'modified file chmod 100644 => 100755'}}) ], 'git_diff_mod_single_binary_file.diff': [ ('US Warszawa.jpg', 'M',