Commit Graph

206 Commits

Author SHA1 Message Date
Vincent Batts 44d93178df Merge pull request #11 from LK4D4/add_vet
Add vet check to travis
2015-08-13 15:37:30 -04:00
Vincent Batts 8f81a50860 Merge pull request #10 from LK4D4/fix_pipe_close
asm: Remove unreachable code
2015-08-13 15:36:42 -04:00
Vincent Batts e72b4959f9 Merge pull request #9 from LK4D4/fix_json_tags
storage: Fix syntax of json tags
2015-08-13 15:35:20 -04:00
Vincent Batts 4d66163297 archive/tar: a []byte copy needed for GNU LongLink 2015-08-13 15:32:17 -04:00
Vincent Batts 9b9df04f1f Merge pull request #12 from LK4D4/multi_for_tee
tar/storage: Replace TeeReader with MultiWriter
2015-08-13 15:12:22 -04:00
Alexander Morozov 45399711c2 tar/storage: Replace TeeReader with MultiWriter
It uses slightly less memory and more understandable.
Benchmar results:

benchmark             old ns/op     new ns/op     delta
BenchmarkPutter-4     57272         52375         -8.55%

benchmark             old allocs     new allocs     delta
BenchmarkPutter-4     21             19             -9.52%
benchmark             old bytes     new bytes     delta
BenchmarkPutter-4     19416         13336         -31.31%

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-13 11:43:31 -07:00
Alexander Morozov ea73dc6f6f tar/storage: Benchmark for bufferFileGetPutter.Put
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-13 11:42:14 -07:00
Alexander Morozov fa881b2347 Add vet check to travis
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 22:49:38 -07:00
Alexander Morozov 93c0a320a8 asm: Remove unreachable code
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 22:45:39 -07:00
Alexander Morozov b1783bc86d storage: Fix syntax of json tags
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 22:41:28 -07:00
Vincent Batts 505d53c95c Merge pull request #8 from LK4D4/remove_tee
Remove redundant TeeReader
2015-08-12 22:49:28 -04:00
Alexander Morozov e6df23162e Remove redundant TeeReader
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 16:46:04 -07:00
Vincent Batts b5c23068bb Merge branch 'longlink' 2015-08-11 15:58:45 -04:00
Vincent Batts e46a815cbc archive/tar: fix carry-over of bytes for GNU types
Archives produced with GNU tar can have types of TypeGNULongName and
TypeGNULongLink.
These fields effectively appear like two file entries in the tar
archive. While golang's `archive/tar` transparently provide the file
name and headers and file payload, the access to the raw bytes is still
needed.

This fixes the access to the longlink header, it's payload (of the long
file path name), and the following file header and actual file payload.
2015-08-11 15:57:20 -04:00
Vincent Batts df8572a1eb tar/asm: check length before adding an entry 2015-08-11 15:57:20 -04:00
Vincent Batts 51b0481d4a tar/asm: adding a failing test due to GNU LongLink 2015-08-11 15:57:20 -04:00
Vincent Batts 0a79a3807c README: missed a checksize reference 2015-08-10 16:26:09 -04:00
Vincent Batts c6be94f8a3 cmd/tar-split: README usage for checksize 2015-08-10 16:22:36 -04:00
Vincent Batts 6c671d7267 cmd/tar-split: make `checksize` a sub-command
Moving it from top-level to the `tar-split` command
2015-08-10 16:20:22 -04:00
Vincent Batts 5d0b967302 README: cleanup 2015-08-10 15:36:38 -04:00
Vincent Batts 779e824d76 README: formatting and cleanup 2015-08-10 15:36:30 -04:00
Vincent Batts f465e4720e cmd/tar-split: adding to the README 2015-07-28 17:16:04 -04:00
Vincent Batts de37d1755a travis: incorrect comment 2015-07-28 15:45:24 -04:00
Vincent Batts a80fb82091 Merge pull request #6 from vbatts/jonboulle-fixes-rebased
rebased #5
2015-07-22 16:12:42 -04:00
Jonathan Boulle caf6a872c9 tar/storage: switch to map[string]struct{} for set
Using an empty struct is more idiomatic/efficient for representing a
set-like container.
2015-07-22 15:32:49 -04:00
Jonathan Boulle 002d19f0b0 *: clean up assorted spelling/grammar issues
Various minor fixes noticed on walking through
2015-07-22 15:32:49 -04:00
Vincent Batts e0e9886972 tar/asm: return instead of break
5ddec2ae4a (commitcomment-12290378)

Reported-by: Tibor Vass <tibor@docker.com>
2015-07-22 11:32:18 -04:00
Vincent Batts c2c2dde4cb tar/storage: use `filepath` instead of `path` 2015-07-22 10:27:53 -04:00
Vincent Batts 6d59e7bc76 tar/asm: clean up return on errors
This closure on error message needs returns so that the error message is
bubbled up to the reader.
2015-07-21 12:10:09 -04:00
Vincent Batts d3556a0551 travis: go1.4.1 -> go1.4.2 2015-07-20 20:16:42 -04:00
Vincent Batts c74af0bae7 tar/asm: test was flipped 2015-07-20 17:26:16 -04:00
Vincent Batts 97acaa9e83 travis: needing to fetch the cmd dependencies 2015-07-20 17:22:10 -04:00
Vincent Batts 04172717de tar/asm: test for failure when mangling 2015-07-20 16:46:22 -04:00
Vincent Batts fd84b2fdfd cmd/tar-split: adding a cli tool for asm/disasm 2015-07-20 15:51:20 -04:00
Vincent Batts 6094dcaeca concept: move the PoC out of the root directory 2015-07-20 15:47:10 -04:00
Vincent Batts e33913bf75 tar/asm: don't defer file closing
this `for {}` can read many files. defering the file handle close can
cause an EMFILE (too many open files).
2015-07-15 13:43:48 -04:00
Vincent Batts 86ada47639 tar/asm: handle nil tar Header
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-06-23 12:23:36 -04:00
Vincent Batts 174287a8aa Merge branch 'master' of github.com:vbatts/tar-split 2015-06-21 14:15:32 -04:00
Vincent Batts ae13eaae94 tar/asm: remove uneeded goroutine
Reported-by: Derek McGowan <derek@mcgstyle.net>
2015-06-21 14:14:37 -04:00
Vincent Batts 8ea33b4a42 README.md: comments on what's next 2015-03-23 16:36:08 -04:00
Vincent Batts b607faf7f1 Merge pull request #4 from tianon/outdated-travis-comment
Remove outdated Travis comment
2015-03-10 12:55:28 -04:00
Tianon Gravi c8076237f4 Remove outdated Travis comment 2015-03-10 09:47:48 -06:00
Vincent Batts 61b11c52f8 README.md: information on metadata size 2015-03-10 11:41:20 -04:00
Vincent Batts 402c6217ac README.md: update example and add explanation
Add an explanation of the readings that happen on the tar archive stream

Fixes #3
2015-03-10 11:19:50 -04:00
Vincent Batts 5c79f14ea5 main.go: adjust displayed numbers and readings
remove post, and add EOF padding

Fixes #3
2015-03-10 11:19:00 -04:00
Vincent Batts 5d32b4003b README.md: put the docs higher 2015-03-09 14:24:00 -04:00
Vincent Batts a52a5243bc README.md: build status 2015-03-09 14:22:45 -04:00
Vincent Batts 032423140a README.md: update what's next 2015-03-09 14:19:40 -04:00
Vincent Batts 46840c585a *: golint and docs 2015-03-09 14:11:11 -04:00
Vincent Batts f7b9a6caee tar/asm: comments 2015-03-09 13:56:45 -04:00