You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Often when doing a move what I want is to do trash if the two items are equal and rename_new if they aren't. I want to avoid adding a duplicate with a new name, but the destination directory isn't covered by the dedupe filter because it's not a source location.
Describe the solution you'd like
An on_conflict option that moves or copies the file only if there is not an equal file present. If speed demanded, filesize could be used as a heuristic instead of a full file sha1 or whatever. 90% of the time my files will have different sizes if they are unequal. Maybe a good name for this would be on_conflict: idempotent, cause multiple copies with the same file would have equal effect? Though I suppose technically a move would not be idempotent for the source directory...
Describe alternatives you've considered
I could choose rename_new, which would risk increasing bloat in my dest folder as new duplicate files come in. I could choose skip and risk missing the new files. I could somehow rig up my destination folder structure as a location and run a dedupe filter. But it's too big to realistically run a dedupe algorithm on all of it. There might be a way to break it into pieces and only execute the dedupe filter in a folder a file was added to.
The text was updated successfully, but these errors were encountered:
Yeah, bad name. I guess one way to make it generic would be a list of matchers? First one that matches, do the child action:
on_conflict:
- equal # if files are equal
- trash
- bigger # if files are not equal and src file is bigger
- someAction
- smaller # if none of the above and src file is smaller
- someAction0
- newer # if none of the above and the src file is newer, idk i guess this will usually be true
- someAction1
- older
- someAction2
- python # custom matcher
- someAction3
Is your feature request related to a problem? Please describe.
Often when doing a
move
what I want is to dotrash
if the two items are equal andrename_new
if they aren't. I want to avoid adding a duplicate with a new name, but the destination directory isn't covered by the dedupe filter because it's not a source location.Describe the solution you'd like
An
on_conflict
option that moves or copies the file only if there is not an equal file present. If speed demanded, filesize could be used as a heuristic instead of a full file sha1 or whatever. 90% of the time my files will have different sizes if they are unequal. Maybe a good name for this would beon_conflict: idempotent
, cause multiple copies with the same file would have equal effect? Though I suppose technically a move would not be idempotent for the source directory...Describe alternatives you've considered
I could choose rename_new, which would risk increasing bloat in my dest folder as new duplicate files come in. I could choose skip and risk missing the new files. I could somehow rig up my destination folder structure as a location and run a dedupe filter. But it's too big to realistically run a dedupe algorithm on all of it. There might be a way to break it into pieces and only execute the dedupe filter in a folder a file was added to.
The text was updated successfully, but these errors were encountered: