I seem to have run into a bug in DEVONThink’s sync that may result in data loss.
My set up: I have a database with journal articles that has a group hierarchy. The database contains an indexed group to which I replicate articles I need to access from outside DEVONThink (for instance I have a file ‘pipo.pdf’ with replicants in the groups ‘Clowns’ and ‘DTExternal’).
I have two instances of this database one on my laptop, one on my desktop. I synchronize them by means of a sync store on an USB stick.
The external folder corresponding to that indexed group is synchronized via Dropbox by means of symlinks. Both instances of the database can access the external folder without any problems.
The bug: To remove files from the indexed folder and keep them in my database I move them into the database (which means that they are removed from the external folder), delete their replicants in the indexed group, and empty the trash. I verify that the external folders on both computers are in sync before the operation on one computer (A), do a sync before and after the operation, wait till the external folders are in sync again, and sync the database on the other computer (B). After doing so the database on B does not find those files, although they are in the files.noindex folder of that database on B.
During the sync they are reported as missing:
~/Documents/DTExternal/pipo.pdf Missing file
A verify and repair after the sync doesn’t report any errors (and, hence, doesn’t do a repair).
Their entries in the indexed group on B are removed (as expected).
Their remaining entries (e.g. the ‘pipo’ entry in the ‘Clowns’ group) refer, erroneously, to the external folder and report the corresponding files as missing:
File missing: users/arnow/Documents/DTExternal/pipo.pdf
Apparently the sync doesn’t update references!
If I am right, it is not possible to adequately sync databases with indexed files.
So I hope I am wrong!