diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2016-09-07 16:26:06 +0200 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2016-09-07 16:26:06 +0200 |
commit | a75026915863280c78fe73211e423bf6f4ce11c4 (patch) | |
tree | 879b20ed565aff12499b1a4c6ab0692e1f751d33 /app | |
parent | a83c5ff48f74c718bd4d0f9b5746502e2ebaff27 (diff) | |
download | gitlab-ce-a75026915863280c78fe73211e423bf6f4ce11c4.tar.gz |
Allow adding multiple commits in commit_with_hooks
Diffstat (limited to 'app')
-rw-r--r-- | app/models/repository.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 414b82516bc..83605982933 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -1040,7 +1040,11 @@ class Repository raise CommitError.new('Failed to create commit') end - oldrev = rugged.lookup(newrev).parent_ids.first || Gitlab::Git::BLANK_SHA + if rugged.lookup(newrev).parent_ids.empty? || target_branch.nil? + oldrev = Gitlab::Git::BLANK_SHA + else + oldrev = rugged.merge_base(newrev, target_branch.target.sha) + end GitHooksService.new.execute(current_user, path_to_repo, oldrev, newrev, ref) do update_ref!(ref, newrev, oldrev) |