11 Commits

Author SHA1 Message Date
renovate[bot] f6b4dc4f2f chore(deps): update mozilla-actions/sccache-action action to v0.0.10 2026-04-23 07:32:32 +02:00
xtqqczze d24f17f067 fix: update clippy command to use workspace option 2026-04-11 16:12:10 +02:00
Daniel Hofstetter 464f265ee3 ci: remove (almost) duplicate fmt job 2026-02-09 15:22:18 +01:00
oech3 f9ef5886d8 Use preinstalled rust & stop incremental build 2026-02-09 15:06:38 +01:00
Jeff Bailey aa5fb1a952 Implement minimal create and extract operations (#35)
* Implement minimal create and extract operations

Adds basic tar archive functionality using tar-rs library with proper
error handling infrastructure.

Core Implementation:
- TarError enum implementing UError for uucore integration
- Extract operation (-x) for unpacking tar archives
- Create operation (-c) for creating tar archives from files/directories
- Verbose mode (-v) for both operations
- Proper CLI argument parsing with -f flag for archive file

Error Handling:
- Comprehensive error types (IoError, InvalidArchive, FileNotFound, etc.)
- Proper error conversion from io::Error
- UError trait implementation for exit code handling

This provides the minimal foundation for tar functionality. Both create
and extract are included together since they depend on each other for
testing purposes.

Includes 18 tests total:
- 8 integration tests (CLI basics, create/extract operations, error handling)
- 10 unit tests (CLI flag parsing, error type handling)
- Unit tests organized in src/uu/tar/tests/ separate from implementation

Note: Run `cargo test --workspace` to execute all tests including unit tests.

* Re-add cognitive complexity warning suppression for uu_app function

* Sort out tar/tarapp conflict

Rename package from "tar" to "tarapp" in Cargo.toml and update
dependencies to use workspace for tar.

* fix(errors): improve error handling and exit codes for tar operations

- Updated error messages for file not found and permission denied cases.
- Fix exit codes for various TarError types to conform to standard.
- Refactored extract_archive to use new error handling.
- Adjusted tests to reflect updated exit codes.

* Update for error changes (fixes cargo test --all)

* Use arg! macro and comment out rather than remove the unimplemented items.

* fix(create): Remove duplicate message for missing files in create_archive

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2025-11-22 09:54:00 +01:00
renovate[bot] 5f8a81f33e chore(deps): update actions/checkout action to v6 2025-11-20 18:32:23 +00:00
renovate[bot] 98a5615612 chore(deps): update actions/checkout action to v5 2025-10-21 08:22:07 +00:00
Daniel Hofstetter c3aded435e ci: fix package name in lint job 2025-10-21 10:03:53 +02:00
renovate[bot] ce7d6f30be chore(deps): update mozilla-actions/sccache-action action to v0.0.9 2025-03-27 10:08:27 +00:00
renovate[bot] 04f95163d3 chore(deps): update mozilla-actions/sccache-action action to v0.0.8 2025-03-07 15:50:17 +00:00
Sylvestre Ledru 1651ee8e61 add CI 2025-02-01 18:13:12 +01:00