145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# File 'lib/docker/util.rb', line 145
def create_relative_dir_tar(directory, output)
Gem::Package::TarWriter.new(output) do |tar|
files = glob_all_files(File.join(directory, "**/*"))
remove_ignored_files!(directory, files)
files.each do |prefixed_file_name|
stat = File.stat(prefixed_file_name)
next unless stat.file?
unprefixed_file_name = prefixed_file_name[directory.length..-1]
add_file_to_tar(
tar, unprefixed_file_name, stat.mode, stat.size, stat.mtime
) do |tar_file|
IO.copy_stream(File.open(prefixed_file_name, 'rb'), tar_file)
end
end
end
end
|