summaryrefslogtreecommitdiff
path: root/app/services/compare_service.rb
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-09-18 12:02:01 -0700
committerStan Hu <stanhu@gmail.com>2015-09-18 12:02:01 -0700
commitde8497ca56a20f8c9362fdb8a9a8629a551f0a4d (patch)
tree68a7e0a144f5145adc5b0a0fce292ae04b662b0e /app/services/compare_service.rb
parentac571623d88314c89773ecdb484fc1c4ea92de1a (diff)
downloadgitlab-ce-de8497ca56a20f8c9362fdb8a9a8629a551f0a4d.tar.gz
Fix Error 500 when comparing non-existing branchesfix-issue-2593
Closes #2593
Diffstat (limited to 'app/services/compare_service.rb')
-rw-r--r--app/services/compare_service.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/app/services/compare_service.rb b/app/services/compare_service.rb
index 70f642baaaa..bfe6a3dc4be 100644
--- a/app/services/compare_service.rb
+++ b/app/services/compare_service.rb
@@ -4,7 +4,10 @@ require 'securerandom'
# and return Gitlab::CompareResult object that responds to commits and diffs
class CompareService
def execute(source_project, source_branch, target_project, target_branch)
- source_sha = source_project.commit(source_branch).sha
+ source_commit = source_project.commit(source_branch)
+ return unless source_commit
+
+ source_sha = source_commit.sha
# If compare with other project we need to fetch ref first
unless target_project == source_project