diff --git a/js/id/modes/save.js b/js/id/modes/save.js index b66037604..83c471c9b 100644 --- a/js/id/modes/save.js +++ b/js/id/modes/save.js @@ -175,6 +175,20 @@ iD.modes.Save = function(context) { selection.remove(); }) .on('save', function() { + for (var i = 0; i < conflicts.length; i++) { + if (conflicts[i].chosen === 1) { // user chose "keep theirs" + var entity = context.entity(conflicts[i].id); + if (entity.type === 'way') { + var children = _.uniq(entity.nodes); + for (var j = 0; j < children.length; j++) { + var child = context.entity(children[j]); + history.replace(iD.actions.Revert(child)); + } + } + history.replace(iD.actions.Revert(entity)); + } + } + selection.remove(); save(e, true); })