Kolize
Přehled
Nextcloud klient pro počítač nahrává lokální změny a stahuje ty vzdálené. Pokud soubor byl mezi synchronizacemi změněn na lokální straně i na té vzdálené, klient nebude moci situaci vyřešit samostatně. Vytvoří kolidující soubor s místní verzí, stáhne tu vzdálenou a upozorní uživatele, že došlo ke kolizi, která vyžaduje jeho pozornost.
Příklad
Imagine there is a file called mydata.txt in your synchronized folder. It has
not changed for a while and contains the text „contents“ locally and remotely.
Now, nearly at the same time you update it locally to say „local contents“ while
the file on the server gets updated to contain „remote contents“ by someone else.
Při pokusu o nahrání vašich lokálních změn, klient pro počítač upozorní, že verze na serveru se také změnila. To vytvoří kolizi a nyní budete mít na svém stroji dva soubory:
mojedata.txtobsahující „vzdálený obsah“mojedata (kolidující kopie 2018-04-10 093612).txtobsahující „místní obsah“
V této situaci soubor mojedata.txt má vzdálené změny (a bude nadále aktualizován budoucími vzdálenými změnami, když nastanou), ale vaše lokální úpravy nebyly odeslány na server (pokud server nepovoluje nahrávání kolizí – viz níže).
Klient pro počítač vás na tuto situaci upozorní prostřednictvím systémových upozornění, ikony v oznamovací oblasti systémového panelu a žlutého odznáčku „nevyřešené konflikty“ v okně s nastaveními účtu. Kliknutí na tento odznáček zobrazí seznam, který obsahuje nevyřešené kolize a kliknutím na jednu z nich otevře okno průzkumníka, ukazujícího na příslušný soubor.
Pro řešení této kolize otevřete oba soubory, porovnejte rozdíl a zkopírujte své lokální změny ze souboru „kolidující kopie“ do základního souboru, kam patří. V této ukázce můžete změnit mojedata.txt na řekněme „lokální a vzdálený obsah“ a smažte soubor s „kolidující kopie“ v jeho názvu. Tím bude kolize vyřešena.
Kolize při nahrávání (experimentální)
Ve výchozím stavu kolidující soubor (ten s „kolidující kopie“ ve svém názvu, který obsahuje vaše lokální kolidující změny) není nahrán na server. Myšlenka je, že Vy, autor změn, jste nejpovolanější pro řešení kolize a zobrazen kolize jiným uživatelům může vést ke zmatení.
Nicméně, v některých scénářích dává smysl nahrávat tyto kolidující změny tak, že lokální práce se stane viditelnou i když konflikt nebude okamžitě vyřešen.
V budoucnosti by zde mohlo být přepínání tohoto chování platné pro celý server. Pro teď už je možné si vyzkoušet nastavením proměnné prostředí OWNCLOUD_UPLOAD_CONFLICT_FILES=1.