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.
…onsumers that don`t apply a umask at extraction time.
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments.