Commit Graph

59 Commits

Author SHA1 Message Date
Nathan Fisher
63b414b7fd Add print_color for archive listings, format dates in archive listings 2023-12-30 23:40:57 -05:00
Nathan Fisher
97643b58e8 Add date/time formatting for listings 2023-12-30 19:01:37 -05:00
2591d102d6 Add ListingStream type 2023-12-29 23:52:05 -05:00
3c708430ae Add tests for PartialOrd for Listing 2023-12-29 00:31:49 -05:00
9531c0268a Implement Display and PartialOrd for Listing struct 2023-12-23 19:03:12 -05:00
Nathan Fisher
ae7c9b08b3 Add Listing type for generating a listing of files in an archive 2023-12-22 19:03:17 -05:00
Nathan Fisher
c2e377d09e Combine fifo node tests 2023-12-18 00:18:13 -05:00
Nathan Fisher
6d0b17c2d9 Fix potential collisions between file and hardlink tests when run in parallel 2023-12-18 00:12:35 -05:00
Nathan Fisher
03486321ed Combine multiple tests to avoid io collisions when tests run in parallel 2023-12-18 00:09:26 -05:00
Nathan Fisher
71e0ba30d1 Add test for extracting hardlinks; Fix multiple bugs revealed in tests; TODO: fix possible io errors caused by tests running in parallel; 2023-12-17 19:07:25 -05:00
Nathan Fisher
0ef17ca2ec Add test for extracting symlink nodes and fix behavior 2023-12-16 18:49:44 -05:00
Nathan Fisher
b534cf6d49 Create test for load/store fifo node 2023-12-16 00:40:19 -05:00
Nathan Fisher
d26a5c5805 Add test for creating, storing and loading hardlink nodes 2023-12-15 19:04:44 -05:00
Nathan Fisher
46c41e1c13 Ran through and fixed clippy lints 2023-12-15 18:49:36 -05:00
Nathan Fisher
455a2d36f9 Add test for loading and storing symlink nodes and fix multiple logic errors 2023-12-15 00:25:08 -05:00
Nathan Fisher
e226f1982d Add several tests; Fix blocking when creating fifo node caused by opening file for reading - move the open to the block which runs only if it is a normal file; 2023-12-12 09:02:36 -05:00
Nathan Fisher
3c49fb2324 Add test for hardlink nodes and ensure it passes 2023-12-12 01:45:27 -05:00
Nathan Fisher
ff1afa6453 Add test for creating symlink nodes and fix code to pass test 2023-12-11 19:29:29 -05:00
Nathan Fisher
49f1954a57 Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/tar-ng into odin 2023-10-28 19:11:15 -04:00
Nathan Fisher
5028250a7e Add "node::extract" test; Remove test objects from git; 2023-10-28 19:10:10 -04:00
3483bf155b During node creation, don't attempt to get size from metadata, which can
be wildly off on zfs filesystems
2023-09-11 01:27:11 -04:00
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