Languages:
- English
- español
- français
- 日本語
- Nederlands
- русский
- українська
Conflict
JOSM locally manages copies of OSM objects. It loads them from a file or downloads them from the OSM server and keeps them in memory. If you modify objects or add objects to your map, you are working on copies. The reference objects are still kept on the server from where other users can retrieve them and where other mappers can send their updates to.
This means that you don't own the objects you are currently working with, you still share them with others. If you exchange your local objects with the server your version may clash with the version somebody else sent in as update. JOSM does its best to hide these clashes from you, but sometimes it can't resolve the differences between two versions automatically. In this cases it creates a conflict.
A conflict is a difference between two versions of an object which JOSM can't resolve automatically.
Each data layer maintains a list of unresolved conflicts in the Conflict List panel. In this panel you can launch a dialog for resolving a conflict.
Resolving a conflict means that you have to decide for every difference between the two object versions whether you want to keep the version from the first or the second object, a process which is sometimes also called merging.
Conflicts when downloading/updating
If you download objects from the OSM server into an existing layer, the objects from the server might "collide" with objects already present in the layer. Often, JOSM can handle these collisions automatically but sometimes this isn't possible. Here are some examples:
Automatic management
- You have downloaded an area.
- You modify the way of a landuse. In the meantime another user downloaded the same zone and deleted 4 nodes from a highway and uploads it.
- You select the menu File -> Update data. Some nodes no longer exist on the server even though they are still on your layer.
JOSM notifies you by displaying the message:
When you click on Check on the server: JOSM can resolve this automatically by deleting nodes on your layer that are no longer on the server and do not collide with your modification. JOSM does not create a conflict.
Conflict creation
- You've downloaded a node with id:1 from the server whose name tag is set to
"My name"
. - You edit the node and change its name to
"Or is it this name?"
. In the meantime another user downloaded the node too, changed its name to"That's the name"
, and uploads it. - You select the menu File -> 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:
and creates an unresolved 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:
- You've downloaded a node with id:1 from the server whose name tag is set to
"My name"
. - Another mapper downloads the node with id:1 too, assigns it the name
"That's the name"
, and uploads it. - You change the name to
"Or is it this name?"
and upload to the server. - 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:
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 panel. 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
- Conflict List panel - displays the list of conflicts in the current data layer
- Conflict Dialog - you can use the conflict dialog to resolve a conflict
Back to Main Help
Attachments (4)
- conflict-upload-data.png (31.1 KB ) - added by 15 years ago.
- conflict-update-data.png (26.7 KB ) - added by 15 years ago.
-
conflict-update-data-automatic.png
(20.5 KB
) - added by 14 months ago.
Update data, conflict automatic
-
conflict-update-data-detected.png
(10.6 KB
) - added by 14 months ago.
Conflicts detected
Download all attachments as: .zip