import_export.rb 1.0 KB
Newer Older
1
module Gitlab
2 3 4
  module ImportExport
    extend self

5
    # For every version update, the version history in import_export.md has to be kept up to date.
6
    VERSION = '0.1.4'
7
    FILENAME_LIMIT = 50
J
James Lopez 已提交
8

9
    def export_path(relative_path:)
J
James Lopez 已提交
10
      File.join(storage_path, relative_path)
11 12 13 14 15
    end

    def storage_path
      File.join(Settings.shared['path'], 'tmp/project_exports')
    end
J
James Lopez 已提交
16

17 18 19 20
    def import_upload_path(filename:)
      File.join(storage_path, 'uploads', filename)
    end

J
James Lopez 已提交
21 22 23 24 25 26 27
    def project_filename
      "project.json"
    end

    def project_bundle_filename
      "project.bundle"
    end
J
James Lopez 已提交
28

29
    def config_file
J
James Lopez 已提交
30
      Rails.root.join('lib/gitlab/import_export/import_export.yml')
31 32
    end

J
James Lopez 已提交
33 34 35
    def version_filename
      'VERSION'
    end
J
James Lopez 已提交
36

37 38 39 40 41 42
    def export_filename(project:)
      basename = "#{Time.now.strftime('%Y-%m-%d_%H-%M-%3N')}_#{project.namespace.path}_#{project.path}"

      "#{basename[0..FILENAME_LIMIT]}_export.tar.gz"
    end

J
James Lopez 已提交
43 44 45
    def version
      VERSION
    end
46 47 48 49

    def reset_tokens?
      true
    end
50 51
  end
end