Konflikte
Übersicht
Der Nextcloud-Desktop-Client lädt lokale Änderungen hoch und Remote-Änderungen herunter. Wenn sich eine Datei zwischen den Synchronisierungsläufen sowohl auf der lokalen als auch auf der Remote-Seite geändert hat, kann der Client die Situation nicht selbst lösen. Er erstellt eine Konfliktdatei mit der lokalen Version, lädt die Remote-Version herunter und benachrichtigt den Benutzer, dass ein Konflikt aufgetreten ist, der behoben werden muss.
Beispiel
Stellen Sie sich vor, in Ihrem synchronisierten Ordner gibt es eine Datei namens „mydata.txt“. Sie wurde eine Zeit lang nicht geändert und enthält den Text „Inhalt“ lokal und remote. Jetzt aktualisieren Sie sie fast gleichzeitig lokal, sodass sie „lokaler Inhalt“ lautet, während die Datei auf dem Server von jemand anderem aktualisiert wird und „remote Inhalt“ enthält.
Beim Versuch, Ihre lokalen Änderungen hochzuladen, wird der Desktop-Client feststellen, dass sich auch die Serverversion geändert hat. Dies führt zu einem Konflikt und Sie haben nun zwei Dateien auf Ihrem lokalen Computer:
mydata.txt
enthält „Remote-Inhalte“mydata (Konfliktkopie 2018-04-10 093612).txt
enthält „lokale Inhalte“
In dieser Situation enthält die Datei „mydata.txt“ die Remote-Änderungen (und wird weiterhin mit weiteren Remote-Änderungen aktualisiert, wenn diese auftreten), aber Ihre lokalen Anpassungen wurden nicht an den Server gesendet (es sei denn, der Server aktiviert das Hochladen bei Konflikten, siehe unten).
Der Desktop-Client benachrichtigt Sie über diese Situation durch Systembenachrichtigungen, das Taskleistensymbol und ein gelbes „ungelöste Konflikte“-Symbol im Fenster mit den Kontoeinstellungen. Wenn Sie auf dieses Symbol klicken, wird eine Liste mit den ungelösten Konflikten angezeigt. Wenn Sie auf einen dieser Konflikte klicken, wird ein Explorer-Fenster geöffnet, das auf die entsprechende Datei verweist.
Um diesen Konflikt zu lösen, öffnen Sie beide Dateien, vergleichen Sie die Unterschiede und kopieren Sie gegebenenfalls Ihre lokalen Änderungen aus der Datei „konfliktbehaftete Kopie“ in die Basisdatei. In diesem Beispiel könnten Sie „mydata.txt“ in „lokale und Remote-Inhalte“ ändern und die Datei mit „Konfliktkopie“ im Namen löschen. Damit ist der Konflikt gelöst.
Konflikte beim Hochladen (experimentell)
Standardmäßig wird die Konfliktdatei (die Datei mit „konfliktbehaftete Kopie“ im Namen, die Ihre lokalen, widersprüchlichen Änderungen enthält) nicht auf den Server hochgeladen. Der Grundgedanke ist, dass Sie als Autor der Änderungen den Konflikt am besten lösen können und dass es zu Verwirrung führen könnte, wenn Sie den Konflikt anderen Benutzern zeigen.
In einigen Szenarien ist es jedoch sehr sinnvoll, diese widersprüchlichen Änderungen hochzuladen, sodass die lokale Arbeit sichtbar wird, auch wenn der Konflikt nicht sofort gelöst wird.
In Zukunft könnte es einen serverweiten Schalter für dieses Verhalten geben. Im Moment kann es bereits getestet werden, indem die Umgebungsvariable OWNCLOUD_UPLOAD_CONFLICT_FILES=1
gesetzt wird.