As promised here is the unedited respone from ChronoSynch along with my question -
QUESTION
Does ChronoSynch facilitate updating two files that have been
modified in both places or no? If so, how do we set the synch up?
I will transfer your response to the forum as I am sure that many
will be interested and also to ensure those using your tool
understand the proper practice in order to preserve the integrity of
their files.
ANSWER
First I should state that my experience using DevonThink is limited, at best.
However, I think the scenario described is general enough to apply to many
applications. My comments will likewise be general enough to be applicable to
many different applications.
Most sync applications simply compare the modification dates of a pair of
files against each other, picking the most recently modified file as the
“correct” one. This could be disastrous because there’s no way to detect when
both files have changed. The most recently modified file will always prevail,
but that may not be the file that contains the bulk of the changes.
Instead, ChronoSync compares each file against it’s last known state. This
includes modification date and numerous other metadata - all of which is saved
in a synchronizer document. This allows ChronoSync to dutifully detect when
conflicts occur, providing the user with the option of deciding which file is
the “correct” one (you could also tell it to just use the most recent file, if
you’re lazy).
This said, there is always an inherent danger whenever synchronizing a set of
files that are actively being modified on both computers. If changes are made
on the left computer AND on the right computer before synchronization takes
place, there are going to be conflicts. The user will have to decide which set
of changes to use. No matter what, something is going to get the lost because
the user will have to pick one set of changes over the other. Hopefully, they
choose wisely!
The key to all of this is to discipline yourself to synchronize before
switching over to the other computer and vice versa. If/when you happen to
forget to do this, it’s nice to know that ChronoSync will step in and report
the conflict, alerting you to the situation.
A couple other aspects of ChronoSync that are relevant in such situations are:
-
Package handling. Some applications store their data in “packages”, which
are basically folders disguised to like like files. I believe DevonThink does
this. ChronoSync’s default behavior is to respect packages, thus it treats it
as a single file. ChronoSYnc detects changes within a package and propagates
them up to it’s root level - the package as a whole would be considered
modified. This results in it being copied as a whole. This is very important
to maintain the integrity of data within the package. If this weren’t done, a
sync application may mix & match the contents of the package, since some files
on the left would be more recent than on the right, while others could be the
reverse. This might be the issue that concerns the DevonThink guy the most.
It’s really a non-issue as long as you don’t override ChronoSync’s default
behavior.
-
Archiving. ChronoSync has the option to archive files that are replaced
and/or deleted. This feature is intended as a safeguard against accidental
deletion/synchronization, although many users take advantage of it as a form
of version control. Anyway, this pertains to our discussion because if the
user were to “choose wrong” when resolving a conflict, an archived copy of the
file that was accidentally replaced would still be available. It’s worth
noting, however, that archiving replaced files is NOT ChronoSync’s default
behavior whereas archiving deleted files is.