summaryrefslogtreecommitdiff
path: root/app/workers/git_garbage_collect_worker.rb
blob: 65f8093b5b092d1c0df7243ecbba0ab2cef16c5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class GitGarbageCollectWorker
  include Sidekiq::Worker
  include Gitlab::ShellAdapter
  include DedicatedSidekiqQueue

  sidekiq_options retry: false

  def perform(project_id)
    project = Project.find(project_id)

    gitlab_shell.gc(project.repository_storage_path, project.path_with_namespace)
    # Refresh the branch cache in case garbage collection caused a ref lookup to fail
    project.repository.after_create_branch
    project.repository.branch_names
    project.repository.has_visible_content?
  end
end