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
merged 24 commits into from Jul 1, 2017

Conversation

Projects
None yet
7 participants
@ids1024
Member

ids1024 commented Jul 1, 2017

This includes changes I submitted to support symlinks.

cuviper and others added some commits May 11, 2017

Normalize all path separators to Unix-style `/`
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.
Merge pull request alexcrichton#106 from cuviper/long-unix-path
Normalize all path separators to Unix-style `/`
Use a standard umask value, to provide reasonable behaviour for tar c…
…onsumers that don`t apply a umask at extraction time.
Merge pull request alexcrichton#107 from stuhood/stuhood/deterministi…
…c-mode

Include file mode in items filtered for deterministic headers
Add `Builder::append_data` supporting long paths
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.
Merge pull request alexcrichton#110 from cuviper/append_data
Add `Builder::append_data` supporting long paths
entry: fix unpacking relative hardlinks
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.
Merge pull request alexcrichton#115 from gyscos/master
Unwrap returned Result in documentation for Builder
Add implementations of `Debug` for headers
Should help when inspecting headers!
Merge pull request alexcrichton#117 from ids1024/symlink
Add option to not follow symlinks
@jackpot51

This comment has been minimized.

Member

jackpot51 commented Jul 1, 2017

Thanks for this, it will be very useful!

@jackpot51 jackpot51 merged commit b71c220 into redox-os:master Jul 1, 2017

@ids1024 ids1024 deleted the ids1024:redox branch Jul 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment