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 `Node`s 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