Class: Gitlab::ImportExport::VersionSaver

Inherits:
Object
  • Object
show all
Includes:
CommandLineUtil, DurationMeasuring
Defined in:
lib/gitlab/import_export/version_saver.rb

Constant Summary

Constants included from CommandLineUtil

CommandLineUtil::CLEAN_DIR_IGNORE_FILE_NAMES, CommandLineUtil::CommandLineUtilError, CommandLineUtil::DEFAULT_DIR_MODE, CommandLineUtil::FileOversizedError, CommandLineUtil::HardLinkError, CommandLineUtil::UNTAR_MASK

Instance Method Summary collapse

Methods included from CommandLineUtil

#gunzip, #gzip, #gzip_with_options, #mkdir_p, #tar_cf, #tar_czf, #untar_xf, #untar_zxf

Constructor Details

#initialize(shared:) ⇒ VersionSaver

Returns a new instance of VersionSaver.



9
10
11
# File 'lib/gitlab/import_export/version_saver.rb', line 9

def initialize(shared:)
  @shared = shared
end

Instance Method Details

#saveObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/gitlab/import_export/version_saver.rb', line 13

def save
  with_duration_measuring do
    mkdir_p(@shared.export_path)

    File.write(version_file, Gitlab::ImportExport.version, mode: 'w')
    File.write(gitlab_version_file, Gitlab::VERSION, mode: 'w')
    File.write(gitlab_revision_file, Gitlab.revision, mode: 'w')
  end
rescue StandardError => e
  @shared.error(e)
  false
end