The output of --dry-run for link and dedupe moves the original files out of the way via mv (just like fclones itself) but then completely ignores possible failure of the next command and removes the backup in the following step.
If the calling shell does not have errexit set this can lead to data loss (actually just filename loss) if the ln/cp fails.
I would suggest to just print the action for each line instead and optionally emit a shell header which is called and includes proper error handling.
The output of
--dry-run
forlink
anddedupe
moves the original files out of the way viamv
(just likefclones
itself) but then completely ignores possible failure of the next command and removes the backup in the following step.If the calling shell does not have
errexit
set this can lead to data loss (actually just filename loss) if theln
/cp
fails.I would suggest to just print the action for each line instead and optionally emit a shell header which is called and includes proper error handling.