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
Představte si, že ve vaší synchronizované složce se nachází soubor mojedata.txt
. Nějakou dobu už nebyl změněn a obsahuje text „obsah“ lokálně i vzdáleně. Nyní, skoro ve stejný čas kdy ho zaktualizujete lokálně, řekněme „místní obsah“, zatímco soubor na serveru bude aktualizován tak, že obsahuje „vzdálený obsah“ někým jiným.
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.txt
obsahující „vzdálený obsah“mojedata (kolidující kopie 2018-04-10 093612).txt
obsahují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
.