Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: isaacs/node-tar
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 523c5c7fef48b10811fccd12b42803c61b6aead8
Choose a base ref
...
head repository: isaacs/node-tar
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0532554701454050693bad82fe0470637715b400
Choose a head ref

Commits on Oct 8, 2015

  1. package: fix repository link

    iarna committed Oct 8, 2015
    Copy the full SHA
    51b6627 View commit details

Commits on Mar 27, 2017

  1. Copy the full SHA
    cb9f56e View commit details
  2. Copy the full SHA
    b0ec7cb View commit details
  3. minipass@1.0.2

    isaacs committed Mar 27, 2017
    Copy the full SHA
    c83b0ef View commit details
  4. the new parser

    isaacs committed Mar 27, 2017
    Copy the full SHA
    9594f82 View commit details
  5. wip

    isaacs committed Mar 27, 2017
    Copy the full SHA
    7713bee View commit details
  6. Copy the full SHA
    f433777 View commit details
  7. move Entry into its own module

    isaacs committed Mar 27, 2017
    Copy the full SHA
    0e5d165 View commit details
  8. rewrite header as class, organize field management

    This removes a lot of tar.fieldOffs[tar.fields[fieldName]] business.
    
    There's an internal Field class which knows its beginning and end, and
    can read a value from a buffer, or write it back to a buffer.
    isaacs committed Mar 27, 2017
    Copy the full SHA
    f0d0f36 View commit details
  9. Copy the full SHA
    d01de33 View commit details

Commits on Mar 30, 2017

  1. remove out of date tests

    isaacs committed Mar 30, 2017
    Copy the full SHA
    daff038 View commit details
  2. handle prefixes properly

    isaacs committed Mar 30, 2017
    Copy the full SHA
    d2d0625 View commit details
  3. Copy the full SHA
    849caaf View commit details
  4. Copy the full SHA
    e27960a View commit details
  5. Copy the full SHA
    a3ae7bc View commit details

Commits on Mar 31, 2017

  1. Copy the full SHA
    5d7c6d7 View commit details
  2. removing more legacy stuff

    isaacs committed Mar 31, 2017
    Copy the full SHA
    286c271 View commit details
  3. remove unused symbol in pax.js

    isaacs committed Mar 31, 2017
    Copy the full SHA
    2c498c2 View commit details
  4. Copy the full SHA
    1510cfc View commit details
  5. Remove 'realtime' and 'security' PAX fields

    They were 'reserved for a future specification' 3 decades ago and never used.
    isaacs committed Mar 31, 2017
    Copy the full SHA
    c66f97c View commit details
  6. an entry writer class

    isaacs committed Mar 31, 2017
    Copy the full SHA
    fed5179 View commit details

Commits on Apr 3, 2017

  1. Copy the full SHA
    7e39919 View commit details
  2. Add a WriteEntrySync class

    isaacs committed Apr 3, 2017
    Copy the full SHA
    d736ae8 View commit details

Commits on Apr 4, 2017

  1. use strict all the things

    isaacs committed Apr 4, 2017
    Copy the full SHA
    75bcb74 View commit details
  2. new Pack class

    isaacs committed Apr 4, 2017
    Copy the full SHA
    42e0b7e View commit details
  3. Copy the full SHA
    31bd5a1 View commit details
  4. Copy the full SHA
    73f8d7c View commit details
  5. Copy the full SHA
    7dd73e4 View commit details
  6. fixes for synchronous packing

    isaacs committed Apr 4, 2017
    Copy the full SHA
    050a245 View commit details
  7. don't force blockLen > size if even multiple of 512

    Confuses bsdtar into thinking the file is over
    isaacs committed Apr 4, 2017
    Copy the full SHA
    0aaf58c View commit details
  8. parallel api sugar for lib/extract.js

    These really need to be rethought, though.  Here's the plan that's
    coming:
    
    For create helper methods, the options object should take a list of
    files to add to the tarball.
    
    If a file is specified, then write out to the file.  Otherwise, return
    the stream, which can be piped as the user sees fit.
    
    If no cb is provided, return a Promise.  Actually, just return a Promise
    no matter what, maybe?
    
    The goal is to mimic the command line.
    
    So, to replicate `tar czf my-tarball.tgz files and folders`, you'd do:
    
        tar.c(
          {
            gzip: <true|gzip options>,
            file: 'my-tarball.tgz',
            glob: <true|glob options>
          },
          ['some', 'files', 'and', 'folders']
        ).then(_ => { .. tarball has been created .. })
    
    To replicate `tar cz files and folders > my-tarball.tgz`, you'd do:
    
        tar.c(
          {
            gzip: <true|gzip options>,
            glob: <true|glob options>
          },
          ['some', 'files', 'and', 'folders']
        ).pipe(fs.createWriteStream('my-tarball.tgz')
    
    To replicate `tar xf my-tarball.tgz` you'd do:
    
        tar.x(
          {
            file: 'my-tarball.tgz'
          }
        ).then(_=> { .. tarball has been dumped in cwd .. })
    
    To replicate `cat my-tarball.tgz | tar x -C some-dir --strip=1`:
    
        fs.createReadStream('my-tarball.tgz').pipe(
          tar.x({
            strip: 1,
            C: 'some-dir' // alias for cwd:'some-dir', also ok
          })
        )
    
    To replicate `tar tf my-tarball.tgz`, do this:
    
        tar.t({ file: 'my-tarball.tgz' })
          .on('entry', entry => { .. do whatever with it .. })
    
    To replicate `cat my-tarball.tgz | tar t` do:
    
        fs.createReadStream('my-tarball.tgz')
          .pipe(tar.t())
          .on('entry', entry => { .. do whatever with it .. })
    
    To do anything synchronous, add `sync: true` to the options.
    isaacs committed Apr 4, 2017
    Copy the full SHA
    da67499 View commit details
  9. Copy the full SHA
    48c70a4 View commit details
  10. Copy the full SHA
    be7c500 View commit details

Commits on Apr 5, 2017

  1. Copy the full SHA
    1e2af14 View commit details
  2. Copy the full SHA
    4c2a772 View commit details
  3. remove dangling comment

    isaacs committed Apr 5, 2017
    Copy the full SHA
    f56414d View commit details
  4. ci: fix travis stuff

    zkat authored Apr 5, 2017
    Copy the full SHA
    cb82241 View commit details
  5. Keep test coverage at 100%

    While only 2 files are covered right now, getting any shortage of test
    coverage reported as a failure is a great practice.
    isaacs committed Apr 5, 2017
    Copy the full SHA
    c53534e View commit details
  6. add a types test

    Not much to test, since it's just 2 map objects, but whatever.
    isaacs committed Apr 5, 2017
    Copy the full SHA
    46d8d13 View commit details
  7. header: support setting the fieldset type

    Also: validate 'type' field, and split the prefix/path properly
    when the prefix size is 0 (because basic fieldset).
    isaacs committed Apr 5, 2017
    Copy the full SHA
    4e1c77d View commit details

Commits on Apr 6, 2017

  1. Copy the full SHA
    b9de083 View commit details
  2. use strict on test files

    isaacs committed Apr 6, 2017
    Copy the full SHA
    2b8ddc1 View commit details
  3. run tests asynchronously

    isaacs committed Apr 6, 2017
    Copy the full SHA
    c4dc561 View commit details
  4. Copy the full SHA
    05d3de2 View commit details

Commits on Apr 7, 2017

  1. Move byte counting into read-entry

    Also, move 'turn a number into a date' into consistent places, so we
    store epoch seconds, rather than a javascript Date.toString() value.
    isaacs committed Apr 7, 2017
    Copy the full SHA
    59373d0 View commit details

Commits on Apr 8, 2017

  1. too much throwing

    isaacs committed Apr 8, 2017
    Copy the full SHA
    1356d4d View commit details
  2. field: add Date type

    types should be as close to the data as possible
    isaacs committed Apr 8, 2017
    Copy the full SHA
    0d248b4 View commit details

Commits on Apr 9, 2017

  1. Copy the full SHA
    1c03d80 View commit details
  2. Copy the full SHA
    0fc6dd1 View commit details
  3. 2
    Copy the full SHA
    ab86f8b View commit details
Showing 394 changed files with 50,806 additions and 2,625 deletions.
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.*.swp
node_modules
examples/extract/
test/tmp/
test/fixtures/
.nyc_output/
coverage/
test/fixtures/unpack
benchmarks/extract/cwd
11 changes: 9 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
language: node_js
sudo: false
node_js:
- 0.10
- 0.11
- 8
- 6
- 4
notifications:
email: false
cache:
directories:
- $HOME/.npm
3 changes: 3 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
The ISC License

Copyright (c) Isaac Z. Schlueter and Contributors

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
Loading