kubo/thirdparty
Juan Batiz-Benet f105ce439f get: fix bug + improvements
up until now there has been a very annoying bug with get, we would
get halting behavior. I'm not 100% sure this commit fixes it,
but it should. It certainly fixes others found in the process of
digging into the get / tar extractor code. (wish we could repro
the bug reliably enough to make a test case).

This is a much cleaner tar writer. the ad-hoc, error-prone synch
for the tar reader is gone (with i believe was incorrect). it is
replaced with a simple pipe and bufio. The tar logic is now in
tar.Writer, which writes unixfs dag nodes into a tar archive (no
need for synch here). And get's reader is constructed with DagArchive
which sets up the pipe + bufio.

NOTE: this commit also changes this behavior of `get`:
When retrieving a single file, if the file exists, get would fail.
this emulated the behavior of wget by default, which (without opts)
does not overwrite if the file is there. This change makes get
fail if the file is available locally. This seems more intuitive to
me as expected from a unix tool-- though perhaps it should be
discussed more before adopting.

Everything seems to work fine, and i have not been able to reproduce
the get halt bug.

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-08-05 09:50:33 +02:00
..
assert add False method 2015-01-23 19:06:29 -08:00
delay move generic packages to thirdparty (see thirdparty/README.md) 2015-01-18 14:04:45 -08:00
dir move dir package 2015-01-24 01:32:27 -08:00
eventlog add sharness test for log endpoint 2015-06-18 12:44:02 -07:00
iter add iter package 2015-02-01 21:49:39 -08:00
math2 move generic packages to thirdparty (see thirdparty/README.md) 2015-01-18 14:04:45 -08:00
multierr move generic packages to thirdparty (see thirdparty/README.md) 2015-01-18 14:04:45 -08:00
notifier golint util/, thirdparty/ 2015-06-18 10:03:57 +07:00
pollEndpoint Reorged imports from jbenet/go-ipfs to ipfs/go-ipfs 2015-03-31 12:52:25 -07:00
pq Run 'gofmt -s -w' on these files 2015-05-19 06:11:15 +07:00
s3-datastore Reorged imports from jbenet/go-ipfs to ipfs/go-ipfs 2015-03-31 12:52:25 -07:00
tar get: fix bug + improvements 2015-08-05 09:50:33 +02:00
unit golint util/, thirdparty/ 2015-06-18 10:03:57 +07:00
waitable Reorged imports from jbenet/go-ipfs to ipfs/go-ipfs 2015-03-31 12:52:25 -07:00
README.md Reorged imports from jbenet/go-ipfs to ipfs/go-ipfs 2015-03-31 12:52:25 -07:00

thirdparty consists of Golang packages that contain no go-ipfs dependencies and may be vendored ipfs/go-ipfs at a later date.

packages in under this directory must not import packages under ipfs/go-ipfs that are not also under thirdparty.