- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 185
Comparing changes
Open a pull request
base repository: isaacs/node-tar
base: 843c897e6844f70a34bb115df6c8a9b60112aaf5
head repository: isaacs/node-tar
compare: bf693837b3dcfeb76878b212310302dc5dc3d3dc
Commits on Sep 13, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 024e288 - Browse repository at this point
Copy the full SHA 024e288View commit details -
This is going to be used to avoid harmful race conditions in parallel extraction operations. For example, a Link to a/b requires that the File at a/b is present. But, if they are run in parallel, then the File might not be written before the Link tries to create, and it'll fail with ENOENT. This gets worse if there's a Directory at a/b/c that unlinks the File so that it can create a dir.
Configuration menu - View commit details
-
Copy full SHA for 6cb8cbc - Browse repository at this point
Copy the full SHA 6cb8cbcView commit details -
Address unpack race conditions using path reservations
This addresses a race condition where one archive entry depends on an earlier archive entry completing its unpack operation. For example, a File entry followed by a Link to that file would fail if the File was not written before the link() call was attempted, raising an ENOENT. Or, a File entry at a/b could be clobbered mid-write by an entry at a/b/c. This was never a problem for npm packages, because those tarballs are created as a point-in-time snapshot of the package file tree. Indeed, even in the generic case, it's a bit of an edge case. However, this race condition led to some flaky tests, and could certainly be a problem in general tar archive usage, especially if someone were to use tar.update() often to append entries to an archive.
Configuration menu - View commit details
-
Copy full SHA for 74fc5de - Browse repository at this point
Copy the full SHA 74fc5deView commit details -
Change large-numbers errors from TypeError to Error
They're not technically TypeErrors, because the argument is of the correct _type_, just out of the acceptable range.
Configuration menu - View commit details
-
Copy full SHA for 3905fed - Browse repository at this point
Copy the full SHA 3905fedView commit details -
This adds error codes to all of the warnings emitted by tar operations, tests for several error conditions, and handling for errors raised by close(2). BREAKING CHANGES: - The `warn` event now emits with 3 arguments (code, message, data) rather than 2 (message, data). - The `data` argument to the warn event handler is always an object, (either an Error or a plain old JavaScript object) rather than sometimes being a string or undefined. - Failures from `fs.close()` are tracked and emitted.
Configuration menu - View commit details
-
Copy full SHA for 0c757d5 - Browse repository at this point
Copy the full SHA 0c757d5View commit details -
1
Configuration menu - View commit details
-
Copy full SHA for 76d8a40 - Browse repository at this point
Copy the full SHA 76d8a40View commit details
Commits on Sep 17, 2019
-
do not treat ignored entries as an invalid archive
They're valid tar, just not tar we care about.
Configuration menu - View commit details
-
Copy full SHA for 825e199 - Browse repository at this point
Copy the full SHA 825e199View commit details -
unpack test: move warning count assertion below content
So I can see what the warnings are in --bail mode when they fail.
Configuration menu - View commit details
-
Copy full SHA for f8b9f79 - Browse repository at this point
Copy the full SHA f8b9f79View commit details -
unpack: keep path reservations longer
This avoids races when entries are zero-length, and emit end() before the fs object is fully finished and closed.
Configuration menu - View commit details
-
Copy full SHA for 95f2ae4 - Browse repository at this point
Copy the full SHA 95f2ae4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 705ad46 - Browse repository at this point
Copy the full SHA 705ad46View commit details
Commits on Sep 25, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 191eca3 - Browse repository at this point
Copy the full SHA 191eca3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e2c0f0 - Browse repository at this point
Copy the full SHA 2e2c0f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8cf9aa7 - Browse repository at this point
Copy the full SHA 8cf9aa7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b0a993 - Browse repository at this point
Copy the full SHA 0b0a993View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7dd8884 - Browse repository at this point
Copy the full SHA 7dd8884View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7bc7c20 - Browse repository at this point
Copy the full SHA 7bc7c20View commit details -
Typically we don't do merge commits on this library, but in this case, some bugfix patches were already landed on v4, which aren't relevant or necessary on the v5 codebase, prior to v5 being released. A merge commit is the cleanest way to do this without having to roll back the publish or break the continuity of the default branch.
Configuration menu - View commit details
-
Copy full SHA for eea7dd7 - Browse repository at this point
Copy the full SHA eea7dd7View commit details
Commits on Sep 26, 2019
-
unpack: conditionally use a file mapping to write files
Use a file mapping to write files up to 512KB. The limit where using a file mapping stops being an advantage varies from machine to machine. 512KB is a reasonable value to use here, close to the lower bound, to avoid tar becoming slower in some machines. PR-URL: #230 Credit: @joaocgreis Close: #230 Reviewed-by: @isaacs
Configuration menu - View commit details
-
Copy full SHA for 150da0e - Browse repository at this point
Copy the full SHA 150da0eView commit details -
1
Configuration menu - View commit details
-
Copy full SHA for 97f813a - Browse repository at this point
Copy the full SHA 97f813aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14dc6f4 - Browse repository at this point
Copy the full SHA 14dc6f4View commit details -
get-write-flag: don't test invariants
If we're not on windows, or don't have fmap support, then just make this be a function that always returns 'w'. If it is windows, and has fmap support, only test the size.
Configuration menu - View commit details
-
Copy full SHA for 82cb0f1 - Browse repository at this point
Copy the full SHA 82cb0f1View commit details -
Adds support for Brotli, which we don't use, but also removes a lot of extraneous range-checking code.
Configuration menu - View commit details
-
Copy full SHA for 0973296 - Browse repository at this point
Copy the full SHA 0973296View commit details
Commits on Sep 30, 2019
-
Configuration menu - View commit details
-
Copy full SHA for a74c6fb - Browse repository at this point
Copy the full SHA a74c6fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2f8899 - Browse repository at this point
Copy the full SHA a2f8899View commit details
Commits on Oct 5, 2019
-
Set more portable 'mode' value in portable mode
Fix #235 The `mode` value in `portable` mode will be set to a reasonable default across Unix systems. First, the user must always have read and write permissions. (Ie, a mode of 0o044 becomes 0o644.) Next, the mode is masked against 0o022. (Ie, a file of 0o777 becomes 0o755. 0o666 becomes 0o644.) In practice, this means that all entries will usually have a mode of either 0644 or 0o755, depending on whether the executable bit was set. This avoids a situation where an archive created on a system with a umask of 0o2 creates an archive with files having modes 0o775 and 0o664, whereas an archive created on a system with a umask of 0o22 creates an archive with files having modes 0o755 and 0o644, for the same content. (Especially, for a check-out of the same git repository.) Without this consistency, it's impossible to honor the contract that the same content will produce the same archive, which is necessary for npm to create reprodicible build artifacts that match both in CI and development. This unfortunately still does not address windows, where the executable bit is never set on files. (This bit the mocha project when a publish from a Windows machine did not archive binaries with executable flags set: #210 (comment))
Configuration menu - View commit details
-
Copy full SHA for 5e8dfa4 - Browse repository at this point
Copy the full SHA 5e8dfa4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 16d07b2 - Browse repository at this point
Copy the full SHA 16d07b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48e5716 - Browse repository at this point
Copy the full SHA 48e5716View commit details -
Configuration menu - View commit details
-
Copy full SHA for 58668c6 - Browse repository at this point
Copy the full SHA 58668c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for c517cc3 - Browse repository at this point
Copy the full SHA c517cc3View commit details -
mock out get-write-flag on nodes where filemap is known
Can't overwrite or modify a constant, they're very... constant.
Configuration menu - View commit details
-
Copy full SHA for d061ff0 - Browse repository at this point
Copy the full SHA d061ff0View commit details -
Configuration menu - View commit details
-
Copy full SHA for cc0b415 - Browse repository at this point
Copy the full SHA cc0b415View commit details -
Configuration menu - View commit details
-
Copy full SHA for 114efef - Browse repository at this point
Copy the full SHA 114efefView commit details
Commits on Nov 20, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 2c9d359 - Browse repository at this point
Copy the full SHA 2c9d359View commit details
Commits on Jan 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for eeb8649 - Browse repository at this point
Copy the full SHA eeb8649View commit details -
Configuration menu - View commit details
-
Copy full SHA for a069020 - Browse repository at this point
Copy the full SHA a069020View commit details
Commits on Jan 29, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 01cdaaa - Browse repository at this point
Copy the full SHA 01cdaaaView commit details -
Configuration menu - View commit details
-
Copy full SHA for d242054 - Browse repository at this point
Copy the full SHA d242054View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97a74cd - Browse repository at this point
Copy the full SHA 97a74cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for f9555dd - Browse repository at this point
Copy the full SHA f9555ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 731a648 - Browse repository at this point
Copy the full SHA 731a648View commit details
Commits on Feb 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 0691c4f - Browse repository at this point
Copy the full SHA 0691c4fView commit details
Commits on Apr 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b074ac8 - Browse repository at this point
Copy the full SHA b074ac8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a55ace - Browse repository at this point
Copy the full SHA 0a55aceView commit details
Commits on May 26, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8b605d7 - Browse repository at this point
Copy the full SHA 8b605d7View commit details
Commits on Aug 14, 2020
-
Configuration menu - View commit details
-
Copy full SHA for e20912c - Browse repository at this point
Copy the full SHA e20912cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b113315 - Browse repository at this point
Copy the full SHA b113315View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5e6cf6 - Browse repository at this point
Copy the full SHA f5e6cf6View commit details -
Configuration menu - View commit details
-
Copy full SHA for aeda9bf - Browse repository at this point
Copy the full SHA aeda9bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for e8fcd63 - Browse repository at this point
Copy the full SHA e8fcd63View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b3b217 - Browse repository at this point
Copy the full SHA 7b3b217View commit details
There are no files selected for viewing
This file was deleted.