summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaco Guzman <pacoguzmanp@gmail.com>2016-07-26 10:17:28 +0200
committerPaco Guzman <pacoguzmanp@gmail.com>2016-07-26 10:17:28 +0200
commitcf8d459b5143ab81236250b31cb88ca4a0b6fdba (patch)
tree7ced5eabbe1075fea5817e98298490f5e3f99bab
parent68162ba900f1b9003fa3d07613333f201be8154a (diff)
downloadgitlab-ce-rescue-reference-create-due-to-file-lock-exists.tar.gz
Rescue Rugged::OSError (lock exists) when creating references.rescue-reference-create-due-to-file-lock-exists
-rw-r--r--CHANGELOG1
-rw-r--r--app/models/repository.rb2
2 files changed, 2 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 534f57cb08e..56bf2a79d43 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -17,6 +17,7 @@ v 8.10.2 (unreleased)
- User can now search branches by name. !5144
- Fix backup restore. !5459
- Use project ID in repository cache to prevent stale data from persisting across projects. !5460
+ - Rescue Rugged::OSError (lock exists) when creating references.
v 8.10.1
- Refactor repository storages documentation. !5428
diff --git a/app/models/repository.rb b/app/models/repository.rb
index e9d5f4c91f8..fbc20df3006 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -209,7 +209,7 @@ class Repository
# This will still fail if the file is corrupted (e.g. 0 bytes)
begin
rugged.references.create(keep_around_ref_name(sha), sha, force: true)
- rescue Rugged::ReferenceError => ex
+ rescue Rugged::ReferenceError, Rugged::OSError => ex
Rails.logger.error "Unable to create keep-around reference for repository #{path}: #{ex}"
end
end