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