Opened 5 years ago

Closed 13 days ago

#7665 closed enhancement (fixed)

merge conflation operations for multiple pairs into one undo-able action

Reported by: Cobra Owned by: joshdoe
Priority: normal Milestone:
Component: Plugin conflation Version:
Keywords: github Cc:


At the moment each conflation operation is added as a single operation to the undo stack, even when conflating a lot of pairs at once.

All core operations add a single atomic operation to the undo stack when manipulating many objects, so this isn't consistent.

Attachments (0)

Change History (7)

comment:1 Changed 5 years ago by joshdoe

I initially did this, but ran into trouble with the #7616 example you gave. Since the nodes were part of relations, each command to transfer the relation would overwrite the previous one, so only the last match would have the proper relation membership, for all others it simply disappeared.

To bundle this all into one command, I have to break one of two conventions: execute separate commands upon creation of the master command, or prompt the user within the executeCommand() for resolving conflicts (if any). I think either way works for the end user, so I'll try one of them.

comment:2 Changed 5 years ago by skyper

Thanks for this plugin.
Sorry do not have much time for JOSM/OSM right now.

Think this feature would be really nice !

Is it not possible to add/remove all objects at once. Probably does not work directly with the "replace object command".


comment:3 in reply to:  2 Changed 5 years ago by joshdoe

Replying to skyper:

Is it not possible to add/remove all objects at once. Probably does not work directly with the "replace object command".

When objects only exist in the reference layer, conflating simply copies the objects to the subject layer, so multiple objects can be contained in one command, and that's what I do now. Replace Geometry on the other hand currently changes the entire relation member list, so these can't be simply queued up. Hopefully I'll get to some solution soon(ish).

comment:4 Changed 4 years ago by Don-vip

Keywords: github added

comment:5 Changed 3 years ago by Don-vip

Resolution: othersoftware
Status: newclosed

Closing tickets for external Github-hosted plugins as "othersoftware". Bug report is done on Github, see

comment:6 Changed 3 weeks ago by Tyndare

Resolution: othersoftware
Status: closedreopened

I'm reopening this issue, as the implementation is not activated in the code because of issues with relations (which I don't fully understand yet).

comment:7 Changed 13 days ago by Tyndare

Resolution: fixed
Status: reopenedclosed

This issue should be fixed now (checked ok in v0.5.0)
I've modified the the code so that the replace geometry commands be built during command execution, and not all up front as before. This allowed to group them back in a single SequenceCommand so with only one entry in the Undo list.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain joshdoe.
as The resolution will be set. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.