summaryrefslogtreecommitdiff
path: root/app/models/repository.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/repository.rb')
-rw-r--r--app/models/repository.rb30
1 files changed, 2 insertions, 28 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 46efbede2a2..807b33b2a3e 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -411,36 +411,15 @@ class Repository
}
end
- def can_be_merged?(source_sha, target_branch)
+ def can_be_merged?(source_branch, target_branch)
our_commit = rugged.branches[target_branch].target
- their_commit = rugged.lookup(source_sha)
+ their_commit = rugged.branches[source_branch].target
if our_commit && their_commit
!rugged.merge_commits(our_commit, their_commit).conflicts?
- else
- false
end
end
- def merge(source_sha, target_branch, options = {})
- our_commit = rugged.branches[target_branch].target
- their_commit = rugged.lookup(source_sha)
-
- raise "Invalid merge target" if our_commit.nil?
- raise "Invalid merge source" if their_commit.nil?
-
- merge_index = rugged.merge_commits(our_commit, their_commit)
- return false if merge_index.conflicts?
-
- actual_options = options.merge(
- parents: [our_commit, their_commit],
- tree: merge_index.write_tree(rugged),
- update_ref: "refs/heads/#{target_branch}"
- )
-
- Rugged::Commit.create(rugged, actual_options)
- end
-
def search_files(query, ref)
offset = 2
args = %W(git grep -i -n --before-context #{offset} --after-context #{offset} #{query} #{ref || root_ref})
@@ -474,11 +453,6 @@ class Repository
)
end
- def fetch_ref(source_path, source_ref, target_ref)
- args = %W(git fetch #{source_path} #{source_ref}:#{target_ref})
- Gitlab::Popen.popen(args, path_to_repo)
- end
-
private
def cache