Implementation of a function to delete clones of a given domain - #2358
Open
rubengarcialorenzo wants to merge 5 commits into
Open
Implementation of a function to delete clones of a given domain#2358rubengarcialorenzo wants to merge 5 commits into
rubengarcialorenzo wants to merge 5 commits into
Conversation
frankiejol
requested changes
Jul 23, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds a new CLI operation to script/rvd_back for deleting clones of a given base domain (optionally traversing base-clone trees), and updates Parrot ISO metadata/cleanup logic in lib/Ravada.pm.
Changes:
- Add
--remove-clones(and--recursive) CLI support to delete non-base clones under a base domain. - Improve
add_userflow by checking for existing usernames and prompting for an alternative. - Update Parrot Home Edition XFCE ISO metadata to 7.3 and add cleanup for older Parrot 7.1 ISO entries.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| script/rvd_back | Adds --remove-clones/--recursive, implements clone deletion traversal, and adds a duplicate-username prompt in add_user. |
| lib/Ravada.pm | Updates Parrot ISO definition to 7.3 and adds deletion of old Parrot 7.1 ISO rows in _remove_old_isos. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+381
to
+386
| print "There is already a user with that username \n"; | ||
| print "Try using another username \n"; | ||
| $login = <STDIN>; | ||
| chomp $login; | ||
| $sth_check->execute($login); | ||
| $usern = $sth_check->fetchrow(); |
Comment on lines
+1587
to
+1589
| "Delete FROM iso_images " | ||
| ."WHERE url like 'https://download.parrot.sh/parrot/iso/7.1/'" | ||
| ,"DELETE FROM iso_images " |
Comment on lines
171
to
+173
| ,'remove:s'=> \$REMOVE_DOMAIN | ||
| ,'remove-clones=s' => \$REMOVE_CLONES | ||
| ,'recursive' => \$RECURSIVE |
|
|
||
| list($ALL) if $LIST; | ||
| remove_domain($REMOVE_DOMAIN) if defined $REMOVE_DOMAIN; | ||
| remove_clones($REMOVE_CLONES, $RECURSIVE) if defined $REMOVE_CLONES; |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
frankiejol
self-requested a review
July 30, 2026 12:52
frankiejol
requested changes
Jul 30, 2026
frankiejol
left a comment
Member
There was a problem hiding this comment.
@rubengarcialorenzo please consider Copilot suggestions:
- use = instead like in SQL
- add help text to $USAGE
- do not pass $RECURSIVE to remove_clones function
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Given a base, this function deletes recursively or not all the clones of the given base that are not bases.Motivation and Context