Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to restore permissions when extracting #106

Closed
donv opened this issue Oct 27, 2013 · 2 comments
Closed

Unable to restore permissions when extracting #106

donv opened this issue Oct 27, 2013 · 2 comments

Comments

@donv
Copy link

donv commented Oct 27, 2013

Hi!

I am looking for a way to extract a zip file and restore the permissions. Using command line unzip works, but I would prefer using Ruby for platform independence.

I have tried the following, but permissions are not restored:

require 'zip'
Zip::File.open(my_zip_file) do |zipfile|
  zipfile.restore_permissions = true
  zipfile.each do |f|
    f.extract
  end
end

I am using ruby zip 1.0.0. Is there a way to restore the permissions with rubyzip?

@donv
Copy link
Author

donv commented Oct 27, 2013

I found a way:

require 'zip'
Zip::File.open(asdk_file_name) do |zipfile|
  zipfile.each do |f|
    f.restore_permissions = true
    f.extract { accept_all }
  end
end

I think this is a very common case that should be simplified. Restoring permission could be the default, or File.foreach could take an option : restore_permissions => true

@donv
Copy link
Author

donv commented Oct 27, 2013

Thanks!

githubmo pushed a commit to githubmo/rubyzip that referenced this issue Jan 6, 2014
…ypt-perf

* 'master' of https://github.com/rubyzip/rubyzip:
  Explicitly add the released 2.1.0 Ruby version Remove branch restriction
  Fix Rubinius by adding newly required gems, updating label in .travis.yml
  Update README.md
  Update README.md
  Make File.open_buffer support Tempfiles
  Version bump
  Update Changelog with Ruby 1.9 requirement
  Update README to reflect 1.9 requirement
  Fix rubyzip#106 Set options about restoring ownerships, permissions and times. restore permissions enabled by default.
  fix jRuby Building rubyzip#104
  Fix rubyzip#28 and rubyzip#103
  disable jRuby for a while
  Fix rubyzip#102 recover file permissions if zip file was exist
  Add missing Zip::Entry arguments to Zip::File#get_output_stream. Fixes rubyzip#100
  fix string encoding of zip64 header ids for ruby 2.0
  Add read/write support for zip64 extensions

Conflicts:
	lib/zip/extra_field.rb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant