3b46b11153
Finish (probably) port to new spec and add more tests
2023-07-16 01:15:15 -04:00
1bf8fd416a
Progress towards port to new spec (still not compiling)
2023-07-15 12:05:24 -04:00
64a8269b9d
Partial port to new spec revision (won't compile yet);
2023-07-15 11:36:21 -04:00
d368bc5764
Ensure directories are accessible
2023-07-11 01:11:16 -04:00
377b4bbb05
Fix several logic issues causing failure during archive extraction
2023-07-11 00:57:22 -04:00
b070a129f8
Ensure parent directory exists before attempting to extract files
2023-07-10 09:47:36 -04:00
17c25c54bc
Fix bug caused by writing big endian bytes instead of little endian for
...
file sizes; Fix bug caused by writing ascii characters instead of
integers for enum tags;
2023-07-10 01:02:04 -04:00
f1ca04d706
Flesh out extract method for Stream
2023-07-08 00:39:52 -04:00
Nathan Fisher
70e7846d3a
Export stream::Message enum
2023-07-07 22:51:20 -04:00
Nathan Fisher
ce7fe5f019
Add "magic" to file start
2023-07-07 19:20:21 -04:00
Nathan Fisher
f2fff3ce76
Send Message::Eof
after writing archive tail
2023-07-06 22:21:59 -04:00
Nathan Fisher
04d2fb2bf4
Use Vec<String> for files list rather than Vec<&str> to simplify code
2023-07-06 18:46:11 -04:00
Nathan Fisher
d303eb0390
Impl FromStr for Algorithm enum
2023-07-06 18:31:49 -04:00
05bec9ae2f
Basic implementation of parallel extract; Todo: Message passing
2023-07-05 23:50:28 -04:00
02b9e4d1db
Add Sender to parallel methods for user feedback
2023-07-05 23:21:30 -04:00
9ed4d503d1
Fix parallel archive creation, add archive streaming functions
2023-07-05 17:28:29 -04:00
797aa16a0d
Add par_create_archive
function
2023-07-05 14:27:40 -04:00
8a3bd19185
Add create_archive
function
2023-07-05 13:35:37 -04:00
e5cbf16064
Finish Node::extract
method
2023-07-05 13:07:46 -04:00
5fd1d09e77
Some work on extract
for Node, requiring some plumbing which is in
...
`nix` module
2023-07-05 10:01:40 -04:00
Nathan Fisher
283228ff46
Spell check format spec
2023-07-05 00:37:17 -04:00
Nathan Fisher
2db3303f90
Use bold in table headings
2023-07-05 00:35:48 -04:00
Nathan Fisher
616b16f7db
Add Eof file type, indicating end of archive. Publish first draft of the
...
specification.
2023-07-05 00:25:31 -04:00
31e39f39f5
Add space in between description and contents heading in README
2023-07-04 21:08:30 -04:00
0415cc20fe
Change crate name to 'haggis' and add a README
2023-07-04 21:04:15 -04:00
13c82f79da
Add doc comments for many public facing types
2023-07-04 20:13:38 -04:00
7346b40df8
Add BSD license
2023-07-04 01:30:11 -04:00
8f8e54220c
Implement iterator for a stream of nodes
2023-07-04 01:19:07 -04:00
82ede31688
Refactor into separate modules
2023-07-04 00:51:47 -04:00
Nathan Fisher
162e027365
Finish from_path
for Node
2023-07-03 23:37:57 -04:00
Nathan Fisher
2c8d05b9f8
Add Kind
enum and method to get it's value from a u32
2023-07-03 19:04:55 -04:00
Nathan Fisher
d69198d7f8
Fix some logic errors, use some of the read/write methods previously set
...
up
2023-07-03 18:54:44 -04:00
458e572bb0
Begin adding from_path
method for Node
. Need to work out detection
...
of whether the file is a block/char/pipe special file and if so get
major and minor numbers.
2023-07-03 10:43:51 -04:00
f93374c70a
Finish refactor from previous commit, unifying Header
and Node
...
structures
2023-07-03 00:03:32 -04:00
Nathan Fisher
bdbcd41617
Setup to replace separate header/node idiom with unified Node. Enum
...
`Filetype` with now have `Normal(File)` (todo) which will include the
size, checksum and data, removing the `size` field from `Header`. The
`Header` struct will become the new `Node`.
2023-07-02 22:52:26 -04:00
Nathan Fisher
85e55dc456
Add Node
structure
2023-07-02 01:32:34 -04:00
Nathan Fisher
8386ca76d3
Renamed to tar-ng
2023-07-02 00:53:21 -04:00
Nathan Fisher
0ddfb168f5
Initial commit
2023-07-02 00:44:39 -04:00