Changeset - 2bf5e8731154
[Not reviewed]
stable
0 3 0
Mads Kiilerich - 10 years ago 2015-12-25 12:33:13
madski@unity3d.com
git: fix parsing of git mode change + rename diffs

Assume mode lines come first, like for hg diffs.
3 files changed with 16 insertions and 3 deletions:
0 comments (0 inline, 0 general)
kallithea/lib/diffs.py
Show inline comments
 
@@ -160,11 +160,11 @@ class DiffProcessor(object):
 
        # has already been split on this:
 
        # ^diff[ ]--git
 
            [ ]a/(?P<a_path>.+?)[ ]b/(?P<b_path>.+?)\n
 
        (?:^old[ ]mode[ ](?P<old_mode>\d+)\n
 
           ^new[ ]mode[ ](?P<new_mode>\d+)(?:\n|$))?
 
        (?:^similarity[ ]index[ ](?P<similarity_index>\d+)%\n
 
           ^rename[ ]from[ ](?P<rename_from>.+)\n
 
           ^rename[ ]to[ ](?P<rename_to>.+)(?:\n|$))?
 
        (?:^old[ ]mode[ ](?P<old_mode>\d+)\n
 
           ^new[ ]mode[ ](?P<new_mode>\d+)(?:\n|$))?
 
        (?:^new[ ]file[ ]mode[ ](?P<new_file_mode>.+)(?:\n|$))?
 
        (?:^deleted[ ]file[ ]mode[ ](?P<deleted_file_mode>.+)(?:\n|$))?
 
        (?:^index[ ](?P<a_blob_id>[0-9A-Fa-f]+)
kallithea/tests/fixtures/git_diff_rename_file.diff
Show inline comments
 
@@ -2,3 +2,9 @@ diff --git a/work-horus.xls b/file.xls
 
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
kallithea/tests/models/test_diff_parsers.py
Show inline comments
 
@@ -133,7 +133,14 @@ DIFF_FIXTURES = {
 
         {'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',
0 comments (0 inline, 0 general)