1
0
Fork 1
mirror of https://github.com/vbatts/tar-split.git synced 2024-12-04 05:25:39 +00:00
Commit graph

253 commits

Author SHA1 Message Date
4d66163297 archive/tar: a []byte copy needed for GNU LongLink 2015-08-13 15:32:17 -04:00
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
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
b5c23068bb Merge branch 'longlink' 2015-08-11 15:58:45 -04:00
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
df8572a1eb tar/asm: check length before adding an entry 2015-08-11 15:57:20 -04:00
51b0481d4a tar/asm: adding a failing test due to GNU LongLink 2015-08-11 15:57:20 -04:00
0a79a3807c README: missed a checksize reference 2015-08-10 16:26:09 -04:00
c6be94f8a3 cmd/tar-split: README usage for checksize 2015-08-10 16:22:36 -04:00
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
5d0b967302 README: cleanup 2015-08-10 15:36:38 -04:00
779e824d76 README: formatting and cleanup 2015-08-10 15:36:30 -04:00
f465e4720e cmd/tar-split: adding to the README 2015-07-28 17:16:04 -04:00
de37d1755a travis: incorrect comment 2015-07-28 15:45:24 -04:00
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
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
c2c2dde4cb tar/storage: use filepath instead of path 2015-07-22 10:27:53 -04:00
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
d3556a0551 travis: go1.4.1 -> go1.4.2 2015-07-20 20:16:42 -04:00
c74af0bae7 tar/asm: test was flipped 2015-07-20 17:26:16 -04:00
97acaa9e83 travis: needing to fetch the cmd dependencies 2015-07-20 17:22:10 -04:00
04172717de tar/asm: test for failure when mangling 2015-07-20 16:46:22 -04:00
fd84b2fdfd cmd/tar-split: adding a cli tool for asm/disasm 2015-07-20 15:51:20 -04:00
6094dcaeca concept: move the PoC out of the root directory 2015-07-20 15:47:10 -04:00
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
86ada47639 tar/asm: handle nil tar Header
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-06-23 12:23:36 -04:00
174287a8aa Merge branch 'master' of github.com:vbatts/tar-split 2015-06-21 14:15:32 -04:00
ae13eaae94 tar/asm: remove uneeded goroutine
Reported-by: Derek McGowan <derek@mcgstyle.net>
2015-06-21 14:14:37 -04:00
8ea33b4a42 README.md: comments on what's next 2015-03-23 16:36:08 -04:00
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
61b11c52f8 README.md: information on metadata size 2015-03-10 11:41:20 -04:00
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
5c79f14ea5 main.go: adjust displayed numbers and readings
remove post, and add EOF padding

Fixes #3
2015-03-10 11:19:00 -04:00
5d32b4003b README.md: put the docs higher 2015-03-09 14:24:00 -04:00
a52a5243bc README.md: build status 2015-03-09 14:22:45 -04:00
032423140a README.md: update what's next 2015-03-09 14:19:40 -04:00
46840c585a *: golint and docs 2015-03-09 14:11:11 -04:00
f7b9a6caee tar/asm: comments 2015-03-09 13:56:45 -04:00
4ab9185a57 tar/asm: package docs 2015-03-09 13:54:06 -04:00
d8ebf3c0a7 tar: mv the Getter to tar/storage 2015-03-09 13:20:26 -04:00
e045daf0b0 tar/storage: package docs 2015-03-09 13:13:04 -04:00