summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2016-07-03 20:30:55 -0400
committerDouwe Maan <douwe@selenight.nl>2016-07-04 00:11:33 -0400
commit16ecd7c6dd642c46bda5806569032bc91d6ee70d (patch)
tree965c1c31684ebb8c5e02107d3b7275d1f9652ab8
parent3286dd7a1db69460573a5fd2c9e997039b1f406b (diff)
downloadgitlab-ce-16ecd7c6dd642c46bda5806569032bc91d6ee70d.tar.gz
Document Repository#keep_around
-rw-r--r--app/models/repository.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index e3ad33a896a..078ca8f4e13 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -207,6 +207,10 @@ class Repository
rugged.references.exist?(ref)
end
+ # Makes sure a commit is kept around when Git garbage collection runs.
+ # Git GC will delete commits from the repository that are no longer in any
+ # branches or tags, but we want to keep some of these commits around, for
+ # example if they have comments or CI builds.
def keep_around(sha)
return unless sha && commit(sha)
@@ -219,10 +223,6 @@ class Repository
ref_exists?(keep_around_ref_name(sha))
end
- def keep_around_ref_name(sha)
- "refs/keep-around/#{sha}"
- end
-
def tag_names
cache.fetch(:tag_names) { raw_repository.tag_names }
end
@@ -1038,4 +1038,8 @@ class Repository
def tags_sorted_by_committed_date
tags.sort_by { |tag| commit(tag.target).committed_date }
end
+
+ def keep_around_ref_name(sha)
+ "refs/keep-around/#{sha}"
+ end
end