This page needs a review as the conflict dialog changed a bit and the member tab is not documented.

Conflict Dialog

The Conflict Dialog is used to resolve conflicts between two versions of an OSM object. Depending on the object type the dialog may have different tabs, though, the "Properties" and the "Tags" tab are always present.

Resolving differences between tags

If the tags of one version of an objects are different from the tags of another version, the Conflict dialog shows a source:trunk/resources/images/dialogs/conflict/mergeincomplete.svg in the tab Tags. Click on the tab to display a dialog for resolving tag conflicts.

There are three tables displayed in this dialog, from left to right:

  • My version: shows the tags of the first object version participating in this conflict. These are usually the tags of the object version in your local data set.
  • Merged version: shows the merged tags. This table is initially empty. The more tag conflicts you resolve, the more tag values will we be displayed in this table.
  • Their version: shows the tags of the second object version participating in this conflict. These are usually the tags of the object version currently stored on the server.
    • In case of a conflict after source:trunk/resources/images/dialogs/mergedown.svg Merge layer or source:trunk/resources/images/dialogs/mergedown.svg Merge selection this is the version of the origin.
    • In case of a conflict between the Relation Editor and the data layer this is the version of the relation editor.

In the example below both versions have a tag "name". The values in the two object versions are different, though, and JOSM therefore displays the row with a red background. The value of the first version is "Secondary School", the opposite version has a value "Elementary School". You now have to decide which of these values you want to keep and which you want to discard.

Select the values you want to keep, in the example for instance the value on the left. If you either double-click on the value or click on source:trunk/resources/images/dialogs/conflict/tagkeepmine.svg, you decide to keep the values and to discard the opposite values. The table in the middle now displays the values to keep and the background color turns to green.

When the button Apply Resolution is enabled you can apply your decision. The values you've chosen will be applied and the dialog will be closed.

Resolving differences in the node/member list of two versions of a way/relation

If you see the symbol source:trunk/resources/images/dialogs/conflict/mergeincomplete.svg in the tab Nodes respectively Members then you have to resolve differences in the list of nodes of two ways respectively the list of members of two relations. There are three columns in the respective panel (see screen shot below):

  • the leftmost table displays the list of nodes/members of the the local object version
  • the rightmost table displays the list of nodes/members of the the server object version
  • the table in the middle shows the list of nodes/members of the merged ways

Initially, the middle table is empty. You should now decide which nodes to keep from the local dataset (the leftmost table) and which from the server dataset (the rightmost table).

The standard workflow

The standard workflow to resolve conflicts in the node lists of two object versions consists of three steps:

  1. Pick nodes from either object version and reorder the resulting node list if necessary
  2. Freeze the resulting merged node list by clicking on the button . When you freeze the merged node list you tell JOSM that all conflicts in the node list are resolved.
  3. Apply the resolution

A simple workflow: Keep the node list from your local object version

The following example shows the workflow when you decide to keep all nodes in the same order from your local object version.
(Example is out of date (new buttons), but still works.)

First, select all elements in the leftmost table (either using the mouse or by pressing Ctrl+A in the table) (see next screen shot):

Then, click source:trunk/resources/images/dialogs/conflict/copystartleft.svg to copy the selected nodes to the middle table with the merged nodes:

Finally, click to freeze the resulting merged node list:

The symbol in the nodes tab now switched to source:trunk/resources/images/misc/green_check.svg and you can apply the merge decisions.

Support for comparing node/member lists

It can be difficult to find the differences between the node/member list of of two object versions, in particular for ways/relations with many nodes/members.

The Conflict Dialog supports you in finding the differences. It can compare two of the lists displayed ("my" list, the merged list, and "their" list) and it can render the differences between them with specific background colors.

From the following combo box you can select which pair of lists to compare:

  • My with Their: compares the leftmost table with the rightmost table in the Conflict Dialog
  • My with Merged: compares the leftmost table with the middle table in the Conflict Dialog
  • Their with Merge: compares the middle table with the rightmost table in the Conflict Dialog

Depending on the position of a node/member in the list different background colors are used:

  • - the node/member is in this list only. It isn't present in the opposite list.
  • - the node/member is in both lists, but it is on different positions
  • White background means that a node/member is in both lists at the same position.


  • Make sure you don't edit outside of the area you have downloaded in order to reduce the problem of conflicts
  • Resolve conflicts by opening the 'conflicts' panel, selecting the one of the listed conflicts and choosing whether to accept 'theirs' or 'mine'.

Back to Conflict List Dialog
Back to Conflict
Back to Main Help

Last modified 13 months ago Last modified on 2023-01-25T16:12:09+01:00

Attachments (12)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.