summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2018-01-08 16:24:59 +0100
committerKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2018-01-09 15:20:44 +0100
commit657065b73eb7253d60c9a63c74a75c0f9c3085ca (patch)
tree773ab1b61c38cfe0582a8111dbbf02d88106f84f /app
parentdf74461014bbdbc691f4f4039b02962dad292362 (diff)
downloadgitlab-ce-git-write-ref-prep.tar.gz
Client-prep Gitlab::Git::Repository#write_refgit-write-ref-prep
Diffstat (limited to 'app')
-rw-r--r--app/models/project.rb2
-rw-r--r--app/models/repository.rb6
2 files changed, 2 insertions, 6 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index fbe65e700a4..7dc5e980c1b 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1149,7 +1149,7 @@ class Project < ActiveRecord::Base
def change_head(branch)
if repository.branch_exists?(branch)
repository.before_change_head
- repository.write_ref('HEAD', "refs/heads/#{branch}")
+ repository.raw_repository.write_ref('HEAD', "refs/heads/#{branch}", shell: false)
repository.copy_gitattributes(branch)
repository.after_change_head
reload_default_branch
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 9c879e2006b..5fefdb5ef61 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -256,7 +256,7 @@ class Repository
# This will still fail if the file is corrupted (e.g. 0 bytes)
begin
- write_ref(keep_around_ref_name(sha), sha)
+ raw_repository.write_ref(keep_around_ref_name(sha), sha, shell: false)
rescue Rugged::ReferenceError => ex
Rails.logger.error "Unable to create #{REF_KEEP_AROUND} reference for repository #{path}: #{ex}"
rescue Rugged::OSError => ex
@@ -270,10 +270,6 @@ class Repository
ref_exists?(keep_around_ref_name(sha))
end
- def write_ref(ref_path, sha)
- rugged.references.create(ref_path, sha, force: true)
- end
-
def diverging_commit_counts(branch)
root_ref_hash = raw_repository.commit(root_ref).id
cache.fetch(:"diverging_commit_counts_#{branch.name}") do