summaryrefslogtreecommitdiff
path: root/app/services/projects/import_export/cleanup_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/projects/import_export/cleanup_service.rb')
-rw-r--r--app/services/projects/import_export/cleanup_service.rb42
1 files changed, 0 insertions, 42 deletions
diff --git a/app/services/projects/import_export/cleanup_service.rb b/app/services/projects/import_export/cleanup_service.rb
deleted file mode 100644
index 25bff3468a9..00000000000
--- a/app/services/projects/import_export/cleanup_service.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-module Projects
- module ImportExport
- class CleanupService
- def self.reserved_refs_names
- %w[heads tags merge-requests keep-around environments]
- end
-
- def self.reserved_refs_regexp
- names = reserved_refs_names.map(&Regexp.method(:escape)).join('|')
-
- %r{\Arefs/(?:#{names})/}
- end
-
- def initialize(project)
- @project = project
- end
-
- # This could raise Projects::HousekeepingService::LeaseTaken
- def execute
- Projects::HousekeepingService.new(@project).execute do
- garbage_refs.each(&rugged.references.method(:delete))
- end
- end
-
- private
-
- def garbage_refs
- @garbage_refs ||= begin
- reserved_refs_regexp = self.class.reserved_refs_regexp
-
- rugged.references.reject do |ref|
- ref.name =~ reserved_refs_regexp
- end
- end
- end
-
- def rugged
- @rugged ||= @project.repository.rugged
- end
- end
- end
-end