Closed medyagh closed 5 years ago
It looks to see if the file is byte-for-byte equivalent: https://sourcegraph.com/github.com/mholt/timeliner@3284be867396f6f5d8e2c850d165b099f06541bd/-/blob/itemfiles.go#L187-188
If it is a duplicate, it will keep the original unless its checksum now mismatches, in which case it is replaced by the new download.
I doubt that the photos downloaded from Google Photos and Facebook, for example, will be byte-for-byte identical, even if you uploaded the same file to each of them. Doing other kinds of equivalence computations on images is extremely nuanced and challenging...
so even if the second downloaded file has no time stamp, it will replace the one that does have a time stamp ?
Depends what you mean by "has no timestamp". File modification time, for example, is metadata stored by your file system externally to the file. If the timestamp is embedded, then then a mismatched timestamp between two files will result in a byte-for-byte mismatch as well, so it would not be considered a duplicate.
@mholt by timestamp I meant EXIF Tags, let say I have a photo and EXIF date is 2011, and then I import the same photo form another source and the new second photo's EXIF date is 2018. (fb screws up the EXIF data if you upload an old photo sometimes)
Will this replace my photo with 2011 with 2018 ?
it would be a good feature, if it is not sure, to keep both copies, and gives the users Manual Judgment Feature, to manually decide which photo is which year. I say this, because I tried a similar attempt to do what this project does, a few years ago, and it was a failure, I ended up loosing a lot of Real Exif data. because a lot of social medias they screw up your EXIF data, once you download them back.
I couldn't find in the documentation, how does timeliner handle dupliates? let say if I have same photo on google photos and facebook, when it downloads it, can it detect duplicates or warn me?
or does it automatically keep one of them ? what happens in case of date conflict ? like one of them has a wrong date and one of them correct date.