diff options
author | Jason Colyer <jcolyer2007@gmail.com> | 2019-01-09 10:44:26 -0600 |
---|---|---|
committer | Jason Colyer <jcolyer2007@gmail.com> | 2019-01-09 10:44:26 -0600 |
commit | 3de22e24ddc2e3ccc84055b74b9c4dbfe3db8a36 (patch) | |
tree | b7e0aa67b8ad2dec0656b8f414c9dbe0d2ab7365 | |
parent | 6a6829399e3d6d06239b9d509a2db20c2c5f8a75 (diff) | |
download | gitlab-ce-backup_restore_fix_issue_46891.tar.gz |
Modify file restore to rectify tar issuebackup_restore_fix_issue_46891
Changed run_pipeline! function to have use $ in regex
Changed run_pipeline! function to use Open3.pipeline instead of Open3.pipeline_start
-rw-r--r-- | lib/backup/files.rb | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/backup/files.rb b/lib/backup/files.rb index 31ef354ebb8..48cb01b5b82 100644 --- a/lib/backup/files.rb +++ b/lib/backup/files.rb @@ -73,13 +73,11 @@ module Backup def run_pipeline!(cmd_list, options = {}) err_r, err_w = IO.pipe options[:err] = err_w - status = [] - Open3.pipeline_start(*cmd_list, options) do |threads| - err_w.close - threads.collect { |t| status.push(t.value) } - end + status = Open3.pieline(*cmd_list, options) + err_w.close unless status.compact.all?(&:success?) - unless err_r.read =~ /^g?tar: \.: Cannot mkdir: No such file or directory/ + error = err_r.read + unless error =~ /^g?tar: \.: Cannot mkdir: No such file or directory$/ raise Backup::Error, 'Backup failed' end end |