Lege Hinzufügen, Aktualisieren und Entfernen als bewusste Entscheidungen fest.
Ein Transferplan beschreibt Quelle, Zielgrenze und erlaubte Änderungen. Im Übungsmodell bedeutet hinzufügen: nur neue Namen anlegen. aktualisieren bedeutet: neue Namen anlegen und vorhandene Quellnamen angleichen. spiegeln bedeutet zusätzlich: reine Zielnamen entfernen. Diese Definitionen gelten für unseren Simulator; echte Werkzeuge benötigen eine eigene Optionsprüfung. Eine Planansicht zeigt für jeden Namen die erwartete Aktion, bevor etwas sichtbar wird. Prüfe die Zielgrenze gesondert. Ein korrekter Vergleich kann trotzdem die falsche Sammlung bearbeiten, wenn Quelle und Ziel verwechselt wurden.
Ein Beispiel
Fiktive Quelle: a.txt=neu, b.txt=blau. Ziel: a.txt=alt, c.txt=grün. Hinzufügen ergibt a=alt, b=blau, c=grün. Aktualisieren ergibt a=neu, b=blau, c=grün. Spiegeln ergibt a=neu, b=blau; c entfällt. Nur der letzte Vertrag erlaubt hier eine Entfernung.
Python 3.11 · Lehrbeispiel
source = {"a.txt": "neu", "b.txt": "blau"}
target = {"a.txt": "alt", "c.txt": "grün"}
add_only = dict(target)
for name, value in source.items():
add_only.setdefault(name, value)
updated = {**target, **source}
mirrored = dict(source)
print(sorted(add_only.items()))
print(sorted(updated.items()))
print(sorted(mirrored.items()))
Erwartete Ausgabe
[('a.txt', 'alt'), ('b.txt', 'blau'), ('c.txt', 'grün')]
[('a.txt', 'neu'), ('b.txt', 'blau'), ('c.txt', 'grün')]
[('a.txt', 'neu'), ('b.txt', 'blau')]