DSync is an application that performs directory tree
synchronisations. In all cases you should first check whether perhaps
unison can fulfill your needs. Dsync performs offline synchronisation
of directory trees across machine-, architecture-, operating system-
and protection-boundaries. Its strength lies in selecting the minimum
amount of data to transfer and its versatile behaviour language for
automating one's decisions. Its focus lies on user interaction, rather
than the quest for provability of correctness.
DSync generates a machine key on each machine that it is installed on.
It then maintains a register of trees, local ones and remote ones.
While each tree carries its own name with it wherever it goes, the
user in front of the current machine always assigns an alias name.
The user then creates correspondences between one local tree and one
or more remote trees.
Upon export of a local tree for use at a remote location, only those
files known to be different are exported.
Upon import of a remote tree, a cryptographic signature is checked (I
hate SUN for this: the objects I wanted to store were incompatible
from version 4 to version 5, so I had to perform my own marshalling)
to see whether we are actually using the same source again. Then, the
user is asked (and assisted via a rule-based automation system) to
assign one action for each mismatch between a remote file and a local
file. The choices naturally are: import, overwrite, ignore, delete.
One further operation is available, though: you may rename both files,
the local one and the one to be imported. This gives you both files
for accessing, but neither under the original name.
Please go exploring the system, before you use it seriously. The task
appears deceptively simple, but it isn't.