wiki:Ru:Help/Concepts/Conflict

Version 7 (modified by ak099, 10 days ago) (diff)

--

Перевод неполный

Другие языки:

Конфликт

JOSM работает с локальными копиями объектов OSM. Он открывает их из файла или скачивает с сервера OSM и хранит в памяти. Если вы измените объекты или добавите объекты на карту, то работа ведётся с копиями. Исходные объекты продолжают храниться на сервере, откуда их могут затребовать другие пользователи, и куда другие пользователи могут отправлять свои обновления данных.

Это означает, что вы не владеете объектами, с которыми в данный момент работаете, а совместно используете их с другими людьми. При отправке ваших локальных объектов на сервер может оказаться, что ваша версия противоречит той версии, которую отправил кто-то ещё. JOSM делает всё возможное, чтобы скрыть от вас эти противоречия, но иногда он не может самостоятельно автоматически уладить различия между двумя версиями. В таком случае возникает конфликт.

Конфликт — это различие между двумя версиями объекта, которое JOSM не может разрешить автоматически.

Для каждого слоя данных поддерживается список неулаженных конфликтов в диалоговой панели Конфликт. В этой же панели можно открыть диалоговое окно для улаживания конфликта.

Уладить конфликт — значит решить для каждого различия между двумя версиями объекта, какую из версий нужно оставить — первую или вторую. Этот процесс иногда называют также слиянием.

Конфликты при скачивании или обновлении

Если вы скачиваете объекты с сервера OSM в текущий слой, то объекты с сервера могут "конфликтовать" с объектами, уже присутствующими в слое. Зачастую JOSM может автоматически уладить такие коллизии, но иногда это оказывается невозможным. Вот пример:

  1. Вы скачали с сервера точку с id:1, для которой тегу name присвоено значение "My name".
  2. Вы отредактировали точку, изменив её имя на "Or is it this name?". В то же время другой пользователь тоже скачал эту точку, изменил её имя на "That's the name" и отправил на сервер.
  3. Вы выбираете в меню Файл -> source:trunk/images/updatedata.png Обновить данные. С сервера скачивается версия точки с тегом name "That's the name", что конфликтует с заданным вами именем "Or is it this name?".

JOSM не может уладить это автоматически. Он создаёт конфликт. Как правило, в этом случае JOSM показывает такое сообщение об ошибке:

Конфликт при отправке данных на сервер

При отправке ваших объектов на сервер OSM может возникнуть "коллизия" с данными, отправленными другими картографами. Иногда JOSM способен уладить противоречие автоматически. Если, например, вы пытаетесь удалить уже удалённый объект, то JOSM молча проигнорирует удаление и не будет беспокоить вас сообщением об ошибке. Но в большинстве случаев JOSM не может уладить противоречия автоматически. Вот пример:

  1. Вы скачали с сервера точку с id:1 и тегом name со значением "My name".
  2. Другой картограф тоже скачал точку с id:1, присвоил ей имя "That's the name" и отправил на сервер.
  3. Вы изменили имя точки на "Or is it this name?" и тоже отправили на сервер.
  4. На сервере возникает коллизия вашей версии с версий, отправленной другим картографом.

JOSM не сможет уладить эту ситуацию автоматически. Он создаст конфликт. Как правило, в этом случае JOSM покажет такое сообщение:

Конфликты при объединении

В JOSM можно объединять объекты из одного слоя данных с другим слоем данных. И, опять таки, это может привести к "коллизиям" между различными версиями одних и тех же объектов. Если JOSM не может уладить их автоматически, он создаёт конфликты.

Улаживание конфликтов

Для каждого слоя данных поддерживается список конфликтов, которые ещё не улажены. С ним можно ознакомиться в диалоговой панели Конфликт. Для каждого конфликта в списке можно (и нужно) открыть диалоговое окно улаживания конфликтов и уладить конфликт.

Улаживание конфликтов очень важно. Вы не сможете отправить свои изменения на сервер OSM, пока список неулаженных конфликтов не окажется пустым.

Technical background

For each change set that affects an object, the server assigns an increasing version number to that object. (This is shown in the history e.g. way 1222.) JOSM remembers the version of the downloaded objects and reports it back to the server on upload. If the server has a higher version number (due to a change by another mapper), it rejects the uploaded change. In this situation JOSM creates a conflict. The version that is called "my" in conflict resolution dialog is the old, downloaded version, but with your local modifications applied. The version that is called "their" is the most current version on the server that is then automatically downloaded from the server.

See also


Back to Main Help