Конфликты
Обзор
Клиент Nextcloud для настольных компьютеров загружает локальные изменения и загружает удаленные изменения. Если файл изменился на локальной стороне и на удаленном компьютере между запусками синхронизации, клиент не сможет устранить ситуацию самостоятельно. Он создаст файл конфликта с локальной версией, загрузит удаленную версию и уведомит пользователя о том, что произошел конфликт, требующий внимания.
Пример
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.
При попытке загрузить ваши локальные изменения настольный клиент заметит, что версия сервера также изменилась. Это создает конфликт, и теперь у вас на локальном компьютере будет два файла:
mydata.txt, содержащий «удаленное содержимое»mydata (конфликтная копия 2018-04-10 093612).txt, содержащие «локальное содержимое»
В этой ситуации файл mydata.txt содержит удаленные изменения (и будет продолжать обновляться с дальнейшими удаленными изменениями, когда они произойдут), но ваши локальные изменения не были отправлены на сервер (если только сервер не разрешит загрузку конфликтов, см. ниже).
Настольный клиент уведомляет вас об этой ситуации с помощью системных уведомлений, значка в системном трее и желтого значка «неразрешенные конфликты» в окне настроек учетной записи. При нажатии на этот значок отображается список, содержащий неразрешенные конфликты, а при нажатии на один из них открывается окно проводника, указывающее на соответствующий файл.
Чтобы устранить этот конфликт, откройте оба файла, сравните различия и скопируйте свои локальные изменения из файла «конфликтующая копия» в базовый файл, где это применимо. В этом примере вы можете изменить mydata.txt на «локальное и удаленное содержимое» и удалить файл с «конфликтующей копией» в названии. На этом конфликт будет устранен.
Конфликты при загрузке (экспериментальные)
По умолчанию конфликтный файл (файл с «конфликтующей копией» в названии, содержащий ваши локальные конфликтующие изменения) не загружается на сервер. Идея заключается в том, что вы, автор изменений, лучше всего подходите для разрешения конфликта, а демонстрация конфликта другим пользователям может привести к путанице.
Однако в некоторых сценариях имеет смысл загрузить эти конфликтующие изменения, чтобы локальная работа стала видна, даже если конфликт не будет разрешен немедленно.
В будущем для такого поведения может быть предусмотрен параметр на уровне всего сервера. На данный момент это уже можно протестировать, установив переменную среды OWNCLOUD_UPLOAD_CONFLICT_FILES=1.