Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-28 21:54:40 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-28 21:54:40 +0400
commitddaa493ef3f6ca2b84bc02acc7a5961cf18e3c12 (patch)
tree84ae5a547675086fe8ab1cd354603bcbe879bd3c /app/models/repository.rb
parent00c6723883671769f6efd692f935dc3203d7ccc6 (diff)
Improve MR building
* fix 500 error when no parent for initial commit * fix link from diff files to wrong commit Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/models/repository.rb')
-rw-r--r--app/models/repository.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 2ff70c248dc..d9b0d1fbe22 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -263,4 +263,20 @@ class Repository
contributor
end
end
+
+ def blob_for_diff(commit, diff)
+ file = blob_at(commit.id, diff.new_path)
+
+ unless file
+ file = prev_blob_for_diff(commit, diff)
+ end
+
+ file
+ end
+
+ def prev_blob_for_diff(commit, diff)
+ if commit.parent_id
+ blob_at(commit.parent_id, diff.old_path)
+ end
+ end
end