[josm-dev] Deletion conflicts

Frederik Ramm frederik at remote.org
Mon Apr 27 20:44:31 BST 2009


Hi,

(CC'ing Chris Browet because I'd like to know if Merkaartor has come up 
with a solution for this problem that we could use!)

    Shaun pointed out the following problem with conflict resolution 
(which is not new, it was present in pre-0.6 times too):

> Nick downloads an area.
> Steve downloads the same area.
> Nick deletes node 23 and uploads.
> Steve changes a tag on node 23.
> Steve does an update, and does not get an update about the fact that
> Nick deleted node 23.
> When Steve uploads all he gets is a Gone HTTP status.

I see several issues here:

Firstly, Steve should not get "Gone" in the last step; he should get 
whatever the usual version mismatch error code is - after all he tries 
to upload his change based on an old version of node 23. This is 
potentially an API bug.

But, more importantly, how could we achieve that Steve's session gets 
wind of the fact that Nick has deleted the node?

Idea 1: Implement a kind of "list all objects deleted from this area 
within the last X minutes" API call which JOSM could use. This would 
slow down the download and increase API load but probably be a stable 
way to deal with it.

Idea 2: Before re-downloading an area, let JOSM mark all objects that 
came from the API on the last download as "possibly deleted". On merging 
the newly downloaded dataset with the existing data, reset that flag for 
every object retrieved from the API. The remaining objects flagged 
"possibly deleted" have been deleted on the server and should either be 
silently removed, or if they have local modifications, a conflict dialog 
needs to be shown.

Further ideas, comments?

Bye
Frederik
	
-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"




More information about the josm-dev mailing list