Document Repository#keep_around
This commit is contained in:
parent
3286dd7a1d
commit
16ecd7c6dd
|
@ -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
|
||||||
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
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue