Hallo Luca!
Ich will ein kleines Programm schreiben, mit dem ich zwei Datenquellen synchron halte
Es gibt drei Fälle: Du beobachtest keine, eine oder beide Datenquellen.
Im Fall, dass du keine Datenquelle genau beobachten kannst: Überlege dir Regeln, wie Unterschiede behandelt werden sollen. Zählt immer die neuere Datei? Sind nur Änderungen aus einer Datenquelle relevant? Wenn eine Quelle eine Datei hat und die andere nicht, mit welchen Regeln soll kopiert werden?
Im Fall, dass du eine Datenquelle genau beobachten kannst: Leg ein Protokoll der Änderungen an und ändere in dieser Reihenfolge auf der anderen Seite.
Im Fall, dass du beide Datenquellen beobachten kannst: Leg auf beiden Seiten ein Protokoll der Änderungen an und führe beide aus. Bei Git ist es so, dass erst vom Master alle Änderungen ausgeführt werden (git pull) und anschließend die vom Client (git commit). Dafür ist Webdav natürlich das falsche Protokoll.
Was ich nicht sehen kann, zumindest jetzt, ist ob eine Datei gelöscht worden
ist.
Richtig. Entweder wechselst du die Logik zu Fall 1 oder Fall 2, oder du nimmst etwas anderes als Webdav.
Thomas