wiki:Ru:Help/Concepts/Conflict

Version 6 (modified by ak099, 9 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 Update data. The version of the node retrieved from the server will have a tag name set to "That's the name" which collides with "Or is it this name?", the name you've been setting.

JOSM can't resolve this automatically. It creates a conflict. Typically JOSM displays an error message as follows:

No image "conflict-update-data.png" attached to Ru:Help/Concepts/Conflict

Conflict when uploading

If you upload objects to the OSM server, they might "collide" there with updates provided by other mappers. Sometimes, JOSM can handle these collisions automatically. If, for instance, you try to delete an already deleted object, JOSM will silently skip deleting and won't bother you with an error message. In most cases, though, JOSM can't deal with them automatically. Here's an example:

  1. You've downloaded a node with id:1 from the server whose name tag is set to "My name".
  2. Another mapper downloads the node with id:1 too, assigns it the name "That's the name", and uploads it.
  3. You change the name to "Or is it this name?" and upload to the server.
  4. On the server, your upload collides with the upload from the other mapper.

JOSM can't resolve this automatically. It creates a conflict. Typically JOSM displays an error message as follows:

No image "conflict-upload-data.png" attached to Ru:Help/Concepts/Conflict

Conflicts when merging

In JOSM you can merge the objects in one data layer into another data layer. Again, this can lead to "collisions" between different versions of the same objects. If JOSM can't resolve them automatically it creates conflicts too.

Resolving conflicts

Each data layer maintains a list of conflicts which are not resolved yet. You can consult this list in the Conflict List Dialog. For each conflict listed there you can (and should) launch the Conflict Resolution Dialog and resolve it.

Resolving conflicts is important. For instance, you can't upload your updates to the OSM server unless the list of unresolved conflicts is empty.

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