Skip to content

Combining --progress and --replay deletes hashes in rmlint.json #581

Description

@mb720

Hi and thanks for rmlint!

I was surprised by the behavior of this command:

rmlint --progress -c sh:link --replay rmlint.json .

I expected that rmlint would reuse the existing rmlint.json and create a rmlint.replay.sh that makes hardlinks out of duplicate files. And report a bit of progress while doing so.

Instead, both rmlint.json and rmlint.sh got overwritten with nearly empty files. The hashes are gone from rmlint.json.

I wasn't sure what was wrong and didn't expect that the innocuous looking --progress option was causing trouble. But it was. Removing --progress made rmlint behave as I wanted:

rmlint -c sh:link --replay rmlint.json .

I somehow suspect this behavior is a bug since rmlint overwrites data without warning and it doesn't seem to be documented in the man page.

I'm using rmlint 2.10.1 on Arch Linux, compile features are according to rmlint --version

compiled with: +mounts +nonstripped +fiemap +sha512 +bigfiles +intl +replay +xattr +btrfs-support

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions