Commit Graph

  • 22faadc34e Add verbose option for extracting and creating archives to list files (to be implemented) odin Nathan Fisher 2024-03-31 23:17:59 -0400
  • 3bc8b9aa80 Use Listing as message type for parallel actions Nathan Fisher 2024-03-31 23:12:07 -0400
  • e3dddc3dd9 Display sizes in human readable form Nathan Fisher 2024-02-24 01:32:13 -0500
  • 3e9a34af7e Add ability to display total sizes when displaying listings or extracting archives Nathan Fisher 2024-02-24 00:29:23 -0500
  • 44e2741727 Update Roadmap Nathan Fisher 2024-02-23 19:18:07 -0500
  • 4a7c0748e0 Commit unsaved changes from previous commit Nathan Fisher 2024-02-23 19:13:13 -0500
  • 4b0318036f Proofread docs, move filename reads into helper function load_filename Nathan Fisher 2024-02-23 19:10:50 -0500
  • 30fcaa8e07 Merge binary into project Nathan Fisher 2024-02-22 19:15:04 -0500
  • 0f4ca019d2 Implement creating a Stream of Nodes over stdin Nathan Fisher 2024-01-23 16:55:35 -0500
  • e60acbbda2 Add pathname to message when there is an error creating, writing or extracting an archive node when we are operating in parallel Nathan Fisher 2024-01-23 15:02:38 -0500
  • ce1c383f44 Add ability to write archives to stdout Nathan Fisher 2024-01-23 14:31:21 -0500
  • 9938e7252a Update roadmap Nathan Fisher 2024-01-23 00:50:04 -0500
  • 2c0fcc47a0 Add detection for zstd compression. Reader must implement Read + Seek Nathan Fisher 2024-01-23 00:07:03 -0500
  • 3269da7fe8 Add ability to override uid/gid when creating an archive Nathan Fisher 2024-01-19 00:26:54 -0500
  • 1740dcb79c Add Stream::extract_with() and Stream::par_extract_with() methods which run a function for each Node in an archive Nathan Fisher 2024-01-17 22:36:07 -0500
  • c60e385dd0 Fix Clippy lints and improve documentation Nathan Fisher 2024-01-17 01:58:36 -0500
  • ab259da64b Add to roadmap Nathan Fisher 2024-01-16 00:19:32 -0500
  • eae8abffc7 Implement ability to specify uid:gid when extracting files; Misc code cleanup Nathan Fisher 2024-01-15 23:58:34 -0500
  • bfe9d25c86 Add Roadmap section to the Readme Nathan Fisher 2024-01-15 11:03:16 -0500
  • 6796422224 replace missing space in listing formatting Nathan Fisher 2024-01-15 00:55:18 -0500
  • 876d5fa87b Fix incorrect error bubbling from non-Result statement Nathan Fisher 2024-01-15 00:52:43 -0500
  • 2b078a8d70 Fix incorrect print! syntax Nathan Fisher 2024-01-15 00:51:47 -0500
  • 888fa27a0e Fix misuse of write! in last commit Nathan Fisher 2024-01-15 00:50:15 -0500
  • 01d5da2d89 For archive listings, print '-' as the size for nodes other than regular files Nathan Fisher 2024-01-15 00:45:59 -0500
  • d3ea6c0971 Partially remove Seek constraint from ListingStream, extract fifo node in tests Nathan Fisher 2024-01-15 00:29:50 -0500
  • 98fcfd7f5e Use sort_unstable rather than sort when creating listings Nathan Fisher 2024-01-01 23:32:40 -0500
  • 1036e90238 Add space between datetime and filename for listings Nathan Fisher 2024-01-01 19:08:13 -0500
  • fb49922662 Export listing::Kind as ListingKind Nathan Fisher 2024-01-01 18:56:13 -0500
  • b25a49260e Impl From<Node> for Listing Nathan Fisher 2024-01-01 18:30:24 -0500
  • 63b414b7fd Add print_color for archive listings, format dates in archive listings Nathan Fisher 2023-12-30 23:40:57 -0500
  • 97643b58e8 Add date/time formatting for listings Nathan Fisher 2023-12-30 19:01:37 -0500
  • 2591d102d6 Add ListingStream type Nathan Fisher 2023-12-29 23:52:05 -0500
  • 3c708430ae Add tests for PartialOrd for Listing Nathan Fisher 2023-12-29 00:31:49 -0500
  • 9531c0268a Implement Display and PartialOrd for Listing struct Nathan Fisher 2023-12-23 19:03:12 -0500
  • ae7c9b08b3 Add Listing type for generating a listing of files in an archive Nathan Fisher 2023-12-22 19:03:17 -0500
  • c2e377d09e Combine fifo node tests Nathan Fisher 2023-12-18 00:18:13 -0500
  • 6d0b17c2d9 Fix potential collisions between file and hardlink tests when run in parallel Nathan Fisher 2023-12-18 00:12:35 -0500
  • 03486321ed Combine multiple tests to avoid io collisions when tests run in parallel Nathan Fisher 2023-12-18 00:09:26 -0500
  • 71e0ba30d1 Add test for extracting hardlinks; Fix multiple bugs revealed in tests; TODO: fix possible io errors caused by tests running in parallel; Nathan Fisher 2023-12-17 19:07:25 -0500
  • 0ef17ca2ec Add test for extracting symlink nodes and fix behavior Nathan Fisher 2023-12-16 18:49:44 -0500
  • b534cf6d49 Create test for load/store fifo node Nathan Fisher 2023-12-16 00:40:19 -0500
  • d26a5c5805 Add test for creating, storing and loading hardlink nodes Nathan Fisher 2023-12-15 19:04:44 -0500
  • 46c41e1c13 Ran through and fixed clippy lints Nathan Fisher 2023-12-15 18:49:36 -0500
  • 455a2d36f9 Add test for loading and storing symlink nodes and fix multiple logic errors Nathan Fisher 2023-12-15 00:25:08 -0500
  • 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; Nathan Fisher 2023-12-12 09:02:36 -0500
  • 3c49fb2324 Add test for hardlink nodes and ensure it passes Nathan Fisher 2023-12-12 01:45:27 -0500
  • ff1afa6453 Add test for creating symlink nodes and fix code to pass test Nathan Fisher 2023-12-11 19:29:29 -0500
  • 49f1954a57 Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/tar-ng into odin Nathan Fisher 2023-10-28 19:11:15 -0400
  • 5028250a7e Add "node::extract" test; Remove test objects from git; Nathan Fisher 2023-10-28 19:10:10 -0400
  • 3483bf155b During node creation, don't attempt to get size from metadata, which can be wildly off on zfs filesystems Nathan Fisher 2023-09-11 01:27:11 -0400
  • 3b46b11153 Finish (probably) port to new spec and add more tests Nathan Fisher 2023-07-16 01:15:15 -0400
  • 1bf8fd416a Progress towards port to new spec (still not compiling) Nathan Fisher 2023-07-15 12:05:24 -0400
  • 64a8269b9d Partial port to new spec revision (won't compile yet); Nathan Fisher 2023-07-15 11:36:21 -0400
  • d368bc5764 Ensure directories are accessible Nathan Fisher 2023-07-11 01:11:16 -0400
  • 377b4bbb05 Fix several logic issues causing failure during archive extraction Nathan Fisher 2023-07-11 00:57:22 -0400
  • b070a129f8 Ensure parent directory exists before attempting to extract files Nathan Fisher 2023-07-10 09:47:36 -0400
  • 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; Nathan Fisher 2023-07-10 01:02:04 -0400
  • f1ca04d706 Flesh out extract method for Stream Nathan Fisher 2023-07-08 00:39:52 -0400
  • 70e7846d3a Export stream::Message enum Nathan Fisher 2023-07-07 22:51:20 -0400
  • ce7fe5f019 Add "magic" to file start Nathan Fisher 2023-07-07 19:20:21 -0400
  • f2fff3ce76 Send Message::Eof after writing archive tail Nathan Fisher 2023-07-06 22:21:59 -0400
  • 04d2fb2bf4 Use Vec<String> for files list rather than Vec<&str> to simplify code Nathan Fisher 2023-07-06 18:46:11 -0400
  • d303eb0390 Impl FromStr for Algorithm enum Nathan Fisher 2023-07-06 18:31:49 -0400
  • 05bec9ae2f Basic implementation of parallel extract; Todo: Message passing Nathan Fisher 2023-07-05 23:50:28 -0400
  • 02b9e4d1db Add Sender to parallel methods for user feedback Nathan Fisher 2023-07-05 23:21:30 -0400
  • 9ed4d503d1 Fix parallel archive creation, add archive streaming functions Nathan Fisher 2023-07-05 17:28:29 -0400
  • 797aa16a0d Add par_create_archive function Nathan Fisher 2023-07-05 14:27:40 -0400
  • 8a3bd19185 Add create_archive function Nathan Fisher 2023-07-05 13:35:37 -0400
  • e5cbf16064 Finish Node::extract method Nathan Fisher 2023-07-05 13:07:46 -0400
  • 5fd1d09e77 Some work on extract for Node, requiring some plumbing which is in nix module Nathan Fisher 2023-07-05 10:01:40 -0400
  • 283228ff46 Spell check format spec Nathan Fisher 2023-07-05 00:37:17 -0400
  • 2db3303f90 Use bold in table headings Nathan Fisher 2023-07-05 00:35:48 -0400
  • 616b16f7db Add Eof file type, indicating end of archive. Publish first draft of the specification. Nathan Fisher 2023-07-05 00:25:31 -0400
  • 31e39f39f5 Add space in between description and contents heading in README Nathan Fisher 2023-07-04 21:08:30 -0400
  • 0415cc20fe Change crate name to 'haggis' and add a README Nathan Fisher 2023-07-04 21:04:15 -0400
  • 13c82f79da Add doc comments for many public facing types Nathan Fisher 2023-07-04 20:13:38 -0400
  • 7346b40df8 Add BSD license Nathan Fisher 2023-07-04 01:30:11 -0400
  • 8f8e54220c Implement iterator for a stream of nodes Nathan Fisher 2023-07-04 01:19:07 -0400
  • 82ede31688 Refactor into separate modules Nathan Fisher 2023-07-04 00:51:47 -0400
  • 162e027365 Finish from_path for Node Nathan Fisher 2023-07-03 23:37:57 -0400
  • 2c8d05b9f8 Add Kind enum and method to get it's value from a u32 Nathan Fisher 2023-07-03 19:04:55 -0400
  • d69198d7f8 Fix some logic errors, use some of the read/write methods previously set up Nathan Fisher 2023-07-03 18:54:44 -0400
  • 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. Nathan Fisher 2023-07-03 10:43:51 -0400
  • f93374c70a Finish refactor from previous commit, unifying Header and Node structures Nathan Fisher 2023-07-03 00:03:32 -0400
  • 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. Nathan Fisher 2023-07-02 22:52:26 -0400
  • 85e55dc456 Add Node structure Nathan Fisher 2023-07-02 01:32:34 -0400
  • 8386ca76d3 Renamed to tar-ng Nathan Fisher 2023-07-02 00:53:21 -0400
  • 0ddfb168f5 Initial commit Nathan Fisher 2023-07-02 00:44:39 -0400