Commit Graph

68 Commits

Author SHA1 Message Date
2c0fcc47a0 Add detection for zstd compression. Reader must implement Read + Seek 2024-01-23 00:07:03 -05:00
3269da7fe8 Add ability to override uid/gid when creating an archive 2024-01-19 00:26:54 -05:00
1740dcb79c Add Stream::extract_with() and Stream::par_extract_with() methods which run a function for each Node in an archive 2024-01-17 22:36:07 -05:00
Nathan Fisher
c60e385dd0 Fix Clippy lints and improve documentation 2024-01-17 01:58:36 -05:00
eae8abffc7 Implement ability to specify uid:gid when extracting files; Misc code cleanup 2024-01-15 23:58:34 -05:00
6796422224 replace missing space in listing formatting 2024-01-15 00:55:18 -05:00
876d5fa87b Fix incorrect error bubbling from non-Result statement 2024-01-15 00:52:43 -05:00
2b078a8d70 Fix incorrect print! syntax 2024-01-15 00:51:47 -05:00
888fa27a0e Fix misuse of write! in last commit 2024-01-15 00:50:15 -05:00
01d5da2d89 For archive listings, print '-' as the size for nodes other than regular files 2024-01-15 00:45:59 -05:00
d3ea6c0971 Partially remove Seek constraint from ListingStream, extract fifo node in tests 2024-01-15 00:29:50 -05:00
98fcfd7f5e Use sort_unstable rather than sort when creating listings 2024-01-01 23:32:40 -05:00
Nathan Fisher
1036e90238 Add space between datetime and filename for listings 2024-01-01 19:08:13 -05:00
Nathan Fisher
fb49922662 Export listing::Kind as ListingKind 2024-01-01 18:56:13 -05:00
Nathan Fisher
b25a49260e Impl From<Node> for Listing 2024-01-01 18:30:24 -05:00
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