Hallo,
einer der häufig verwendeten Tools ist ja
rsync. Und dafür wurde eben der sog. RSync-Algorithmus erfunden (schau dir einfach mal die Links unten auf der Wiki-Seite an, z.B.
rsync.samba.org/tech...ort/tech_report.html ).
Als darauf aufbauendes Verfahren gibt es auch noch
rdiff-backup - ich weiß aber nicht, ob es über die Implementation genug Infos gibt.
Da rsync (pro Datei) jedoch nur in eine Richtung synchronisiert, mußt du bei Änderungen auf beiden Seiten evtl. auch noch einen
Merge-Algorithmus einsetzen (wie in auch Versionsverwaltungssysteme einsetzen). CVS-Merge nutzt(e?) z.B. den diff3-Algorithmus (
www.cis.upenn.edu/~b...pers/diff3-short.pdf )
Und bei Mercurial kann man das Merge-Programm sogar festlegen, s.
mercurial.selenic.com/wiki/MergeProgram (evtl. findest du zu den einzelnen Programmen Erklärungen zu den eingesetzten Algorithmen).
Ich hoffe, du hast nun einige Suchbegriffe zum Weitersuchen...