Commit 16ecd7c6 authored by Douwe Maan's avatar Douwe Maan

Document Repository#keep_around

parent 3286dd7a
...@@ -207,6 +207,10 @@ class Repository ...@@ -207,6 +207,10 @@ class Repository
rugged.references.exist?(ref) rugged.references.exist?(ref)
end 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) def keep_around(sha)
return unless sha && commit(sha) return unless sha && commit(sha)
...@@ -219,10 +223,6 @@ class Repository ...@@ -219,10 +223,6 @@ class Repository
ref_exists?(keep_around_ref_name(sha)) ref_exists?(keep_around_ref_name(sha))
end end
def keep_around_ref_name(sha)
"refs/keep-around/#{sha}"
end
def tag_names def tag_names
cache.fetch(:tag_names) { raw_repository.tag_names } cache.fetch(:tag_names) { raw_repository.tag_names }
end end
...@@ -1038,4 +1038,8 @@ class Repository ...@@ -1038,4 +1038,8 @@ class Repository
def tags_sorted_by_committed_date def tags_sorted_by_committed_date
tags.sort_by { |tag| commit(tag.target).committed_date } tags.sort_by { |tag| commit(tag.target).committed_date }
end end
def keep_around_ref_name(sha)
"refs/keep-around/#{sha}"
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment