Document Repository#keep_around

This commit is contained in:
Douwe Maan 2016-07-03 20:30:55 -04:00
parent 3286dd7a1d
commit 16ecd7c6dd
1 changed files with 8 additions and 4 deletions

View File

@ -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