A command-line image copying tool with specialized features designed to work with redundant copies of digital photos and movie files.
dit is designed to take one or more mostly-identical source directories, and copy their contents to one or more identical destination directories. It also has features to verify that presumably identical source files are actually identical, and to save both files if they turn out to differ. This can help minimize the effects of data corruption in the source material.
I wrote this program for myself, because I needed to back up thousands of digital photos redundantly on a once-in-a-lifetime trip, and didn't have enough SD card space to hold them all.
The original use was to back up two redundant SD cards from a Fujifilm mirrorless camera onto two USB thumb drives, while verifying that the source SD cards did not have any data corruption.
I have also found it useful when confronted with several photo directories that might have naming conflicts.
Note that this is a specialized program, designed to work with image and movie files. It intentionally skips over files starting with a dot, to avoid false positives on file corruption warnings (e.g. on .DS_Store files and such).
The name of the program is a nod to the Digital Imaging Technician role on a modern digital movie set. As one small but important part of their jobs, they routinely copy motion picture footage from the set to multiple drives for safekeeping.
dit is implemented in Rust. It does not have any runtime dependencies, but you will need the Rust compiler and Cargo to build it.