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

Merge upstream #2

merged 24 commits into from Jul 1, 2017

Merge upstream #2

merged 24 commits into from Jul 1, 2017


Copy link

@ids1024 ids1024 commented Jul 1, 2017

This includes changes I submitted to support symlinks.

cuviper and others added 24 commits May 11, 2017 15:13
In most cases, `tar` already wrote only `/` separators between path
components.  This is the only separator that works on Unix, and it's
acceptable on Windows too.  However, long paths in GNU headers were
writing the full `path2bytes` result without translation, which meant
Windows could write tar files with `\` that aren't portable to Unix.

Now `path2bytes` will normalize all `\` to `/` on Windows.

The new `path_separators` test makes sure that short and long paths with
UStar and GNU headers will round-trip correctly, meaning the `path()`
compares equal, while checking that `path_bytes()` doesn't contain `\`
path separators.  The long GNU path was writing `\` on Windows before.
Normalize all path separators to Unix-style `/`
…onsumers that don`t apply a umask at extraction time.

Include file mode in items filtered for deterministic headers
This method lets one specify a manual header like `append`, but
incorporates the special handling needed for setting long paths.  If
given path doesn't fit in the header `name`, it will write a GNU
'././@LongLink' entry beforehand.

Fixes alexcrichton#108.
Fixes alexcrichton#109.
Add `Builder::append_data` supporting long paths
This commit fixes an unpacking failure triggered by hardlinks with
relative link names. In such case, the source of the hard-link
must be resolved first by nesting it under the unpacking directory.
Unwrap returned Result in documentation for Builder
Should help when inspecting headers!
Add option to not follow symlinks
Copy link

Thanks for this, it will be very useful!

@jackpot51 jackpot51 merged commit b71c220 into redox-os:master Jul 1, 2017
@ids1024 ids1024 deleted the redox branch July 1, 2017 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet
6 participants