Skip to content

feat: Add rename method to SevenZip#42

Closed
insign wants to merge 1 commit intomainfrom
add-rename-method-8964155415500758761
Closed

feat: Add rename method to SevenZip#42
insign wants to merge 1 commit intomainfrom
add-rename-method-8964155415500758761

Conversation

@insign
Copy link
Copy Markdown
Contributor

@insign insign commented Mar 30, 2026

This PR adds a new rename method to the SevenZip class, allowing users to rename files within an archive using the 7z rn command.

The method accepts an associative array mapping old file names to new file names. It includes necessary input validation and handles exceptions properly.
Additionally, comprehensive tests have been added to verify this functionality across supported formats (zip, 7z, tar), correctly ensuring that bzip2 throws an exception as expected.
As a minor cleanup, a few PHP 8.4 deprecation warnings regarding implicitly nullable parameters were fixed to keep the static analysis clean.


PR created automatically by Jules for task 8964155415500758761 started by @insign

- Implemented `rename(array $renames)` method in `SevenZip` to allow renaming files within an archive.
- Utilizes the `7z rn` command.
- Throws an `InvalidArgumentException` if the source path is not set or the renames array is empty.
- Added comprehensive tests for `rename` in `tests/SevenZipTest.php`, respecting the existing dependency flow (`testVerify` -> `testRename` -> `testExtract`).
- Verified that `bzip2` properly throws a `RuntimeException` as it doesn't support renaming.
- Fixed implicit nullable parameter deprecations (PHP 8.4) in `src/SevenZip.php` and `src/Exceptions/ExecutableNotFoundException.php` and regenerated the PHPStan baseline.
- All tests and static analysis checks pass via `composer run precommit`.
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@insign insign closed this Apr 1, 2026
@insign insign deleted the add-rename-method-8964155415500758761 branch April 1, 2026 00:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant