From 20af3498fa46fc6d2f46e33f33fcc0512cc2495b Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Fri, 6 Dec 2019 12:30:54 +0100 Subject: [PATCH] pull-requests: handle case when removing existing files from a repository in versioning diff. --- rhodecode/model/pull_request.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rhodecode/model/pull_request.py b/rhodecode/model/pull_request.py index 6512c324..66de6a6f 100644 --- a/rhodecode/model/pull_request.py +++ b/rhodecode/model/pull_request.py @@ -970,8 +970,13 @@ class PullRequestModel(BaseModel): old_hash = old_files.get(new_filename) if not old_hash: - # file is not present in old diff, means it's added - added_files.append(new_filename) + # file is not present in old diff, we have to figure out from parsed diff + # operation ADD/REMOVE + operations_dict = diff_data['stats']['ops'] + if diffs.DEL_FILENODE in operations_dict: + removed_files.append(new_filename) + else: + added_files.append(new_filename) else: if new_hash != old_hash: modified_files.append(new_filename)