RomSieve manipule des collections de plusieurs téraoctets. Il est conçu pour qu'un mauvais réglage puisse toujours être rattrapé.
C:/…, /home/…), contient un segment
.. ou un caractère nul pourrait écrire n'importe où sur le
disque, ce que font exprès certaines archives trouvées sur Internet. Un
tel fichier est en erreur dès la simulation, avec la raison « Non écrit
: le nom … est dangereux ou invalide », et rien n'est écrit pour lui ni
pour les autres fichiers de son jeu ; les autres fichiers sont triés
comme d'habitude. Chaque cible est encore vérifiée juste avant d'être
écrite.<nom>.<id>.romsieve-tmp) et ne prend son nom
qu'une fois complet : un plantage ou une coupure de courant ne laisse au
plus que ce fichier temporaire, que l'analyse ignore et qu'un tri
suivant supprime en écrivant le même fichier (une heure au moins après).
Fermer RomSieve pendant un tri demande une confirmation, arrête le tri
et ne ferme qu'une fois le tri arrêté ; pendant une annulation, RomSieve
se ferme à sa fin.Si la destination contient déjà des fichiers et que Compléter une destination non vide n'est pas coché, RomSieve propose de la purger avant le tri :
_purged/<date>/ à l'intérieur de la destination. Sur
un même disque, c'est instantané et ne prend aucune place supplémentaire
;Le dossier _purged d'une purge précédente n'est jamais
touché par la suivante : chaque purge a son propre dossier daté.
Les dossiers et fichiers du système
(System Volume Information, $RECYCLE.BIN,
lost+found, .Trash-1000,
.DS_Store...) ne comptent pas : la racine d'une clé USB ou
d'une carte mémoire qui ne contient qu'eux est une destination vide, et
une purge ne les déplace jamais.
La quarantaine grossit à chaque purge. Dans l'étape Sortie, le cadre Destination indique ce qu'elle contient (Quarantaine des purges (_purged) : 3 purge(s), 1 245 fichier(s), 12,40 Go.) et propose Vider la quarantaine…. La ligne est là dès qu'une destination est choisie : tant que rien n'a été mis de côté, elle indique Quarantaine des purges (_purged) : vide. et son bouton reste grisé. Après confirmation, son contenu est supprimé définitivement : c'est la seule suppression de RomSieve.
_purged d'un dossier sans
marqueur est un dossier ordinaire.En ligne de commande :
romsieve-cli quarantine l'affiche,
romsieve-cli quarantine --empty --yes la vide.
.romsieveChaque tri réel dépose un fichier caché nommé .romsieve
à la racine de sa destination. Si vous demandez à purger un dossier
sans ce marqueur (par exemple un dossier choisi par
erreur, ou un dossier trié par un autre outil), une seconde
confirmation, Dossier non créé par RomSieve, vérifie que vous
avez choisi le bon dossier. En ligne de
commande, une telle purge exige aussi
--force-foreign-purge.
Une destination qui ne contient que le marqueur et
_purged est considérée comme vide. Quand une ancienne
destination sert ensuite de source, son dossier _purged est
ignoré.
Chaque tri réel écrit un journal des opérations effectuées (voir l'emplacement des fichiers de RomSieve). Annuler le dernier tri lit le journal du dernier tri pas encore annulé, affiche ce qui va être défait (date, nombre d'opérations, mode, dossiers) et, après votre confirmation, le défait :
| Opération du tri | Annulation |
|---|---|
| Déplacement | Le fichier retrouve son emplacement d'origine |
Copie, extraction, archive ZIP, playlist, marqueur
.romsieve |
Le fichier est supprimé, s'il n'a pas changé |
| Hard link, lien symbolique | Le lien est supprimé (la source garde les données) |
Descripteur réécrit (.cue...) |
La copie réécrite est supprimée ; en mode Déplacer, le descripteur d'origine est restauré |
| Purge | Le contenu mis de côté dans _purged retrouve sa
place |
Les dossiers laissés vides sont supprimés. Cliquer à nouveau sur Annuler le dernier tri défait le tri précédent, et ainsi de suite.
Certaines opérations ne peuvent pas être défaites ; elles sont listées dans le journal des opérations et dans le bilan final :
Une opération empêchée par un emplacement d'origine occupé ou par une erreur de lecture ou d'écriture (un fichier ouvert par un autre programme) peut être reprise : le bilan le dit, et le tri reste proposé. Fermez le fichier ou libérez son emplacement, puis cliquez de nouveau sur Annuler le dernier tri : seules les opérations restantes sont rejouées. Les autres cas sont définitifs.
L'annulation s'appuie sur les journaux des tris. Ne supprimez pas le dossier
journalssi vous pourriez vouloir annuler un tri. RomSieve garde les journaux des 50 derniers tris réels : un tri plus ancien ne peut plus être annulé.