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:
authorRubén Dávila <rdavila84@gmail.com>2016-02-07 20:56:51 +0300
committerRobert Speicher <rspeicher@gmail.com>2016-02-19 21:14:51 +0300
commit6b0e4783530f58d7bd9e425f21c170b83a8d0dfa (patch)
treed97b82bcae7a6fcb1195ef33b80522c3630a8842
parent91e6e32d130308496065d2efbf71d61e0eeff784 (diff)
Some fixes required for conflicts on revert.
-rw-r--r--app/models/repository.rb17
-rw-r--r--app/services/commits/revert_service.rb6
2 files changed, 14 insertions, 9 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 116e808f3bb..6c1cd308a41 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -628,18 +628,21 @@ class Repository
target_sha = find_branch(target_branch).try(:target)
# First make revert in temp branch
- status = target_sha ? true : revert_commit(user, commit, target_branch, base_branch)
+ rm_branch(target_branch) if target_sha
+ success = revert_commit(user, commit, target_branch, base_branch)
# Make the revert happen in the target branch
- source_sha = find_branch(target_branch).target
- target_sha = find_branch(base_branch).target
- has_changes = is_there_something_to_merge?(source_sha, target_sha)
+ if success && !create_mr
+ source_sha = find_branch(target_branch).target
+ target_sha = find_branch(base_branch).target
+ has_changes = is_there_something_to_merge?(source_sha, target_sha)
- if has_changes && !create_mr
- status = revert_commit(user, commit, base_branch, base_branch)
+ if has_changes
+ success = revert_commit(user, commit, base_branch, base_branch)
+ end
end
- has_changes && status
+ has_changes && success
end
def revert_commit(user, commit, target_branch, base_branch)
diff --git a/app/services/commits/revert_service.rb b/app/services/commits/revert_service.rb
index 730e2017e8d..5ac2853019b 100644
--- a/app/services/commits/revert_service.rb
+++ b/app/services/commits/revert_service.rb
@@ -14,7 +14,9 @@ module Commits
if commit
success
else
- error("Something went wrong. Your changes were not committed")
+ error("Sorry, we cannot revert this commit automatically.
+ It may have already been reverted, or a more recent commit may
+ have updated some of its content.")
end
rescue Repository::CommitError, Gitlab::Git::Repository::InvalidBlobName, GitHooksService::PreReceiveError, ValidationError => ex
error(ex.message)
@@ -26,7 +28,7 @@ module Commits
# Create branch with revert commit
reverted = repository.revert(current_user, @commit, @target_branch, @create_merge_request)
- unless @create_merge_request
+ if reverted && !@create_merge_request
repository.rm_branch(current_user, @commit.revert_branch_name)
end