Commit Graph

88 Commits

Author SHA1 Message Date
Nathan Fisher 3b46b11153 Finish (probably) port to new spec and add more tests 2023-07-16 01:15:15 -04:00
Nathan Fisher 1bf8fd416a Progress towards port to new spec (still not compiling) 2023-07-15 12:05:24 -04:00
Nathan Fisher 64a8269b9d Partial port to new spec revision (won't compile yet); 2023-07-15 11:36:21 -04:00
Nathan Fisher d368bc5764 Ensure directories are accessible 2023-07-11 01:11:16 -04:00
Nathan Fisher 377b4bbb05 Fix several logic issues causing failure during archive extraction 2023-07-11 00:57:22 -04:00
Nathan Fisher b070a129f8 Ensure parent directory exists before attempting to extract files 2023-07-10 09:47:36 -04:00
Nathan Fisher 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
Nathan Fisher 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
Nathan Fisher 05bec9ae2f Basic implementation of parallel extract; Todo: Message passing 2023-07-05 23:50:28 -04:00
Nathan Fisher 02b9e4d1db Add Sender to parallel methods for user feedback 2023-07-05 23:21:30 -04:00
Nathan Fisher 9ed4d503d1 Fix parallel archive creation, add archive streaming functions 2023-07-05 17:28:29 -04:00
Nathan Fisher 797aa16a0d Add `par_create_archive` function 2023-07-05 14:27:40 -04:00
Nathan Fisher 8a3bd19185 Add `create_archive` function 2023-07-05 13:35:37 -04:00
Nathan Fisher e5cbf16064 Finish `Node::extract` method 2023-07-05 13:07:46 -04:00
Nathan Fisher 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
Nathan Fisher 31e39f39f5 Add space in between description and contents heading in README 2023-07-04 21:08:30 -04:00
Nathan Fisher 0415cc20fe Change crate name to 'haggis' and add a README 2023-07-04 21:04:15 -04:00
Nathan Fisher 13c82f79da Add doc comments for many public facing types 2023-07-04 20:13:38 -04:00
Nathan Fisher 7346b40df8 Add BSD license 2023-07-04 01:30:11 -04:00
Nathan Fisher 8f8e54220c Implement iterator for a stream of nodes 2023-07-04 01:19:07 -04:00
Nathan Fisher 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
Nathan Fisher 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
Nathan Fisher 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