Opened 13 years ago

Closed 13 years ago

#191 closed enhancement (fixed)

Correct merge via timestamp

Reported by: Immanuel Scholz Owned by: Immanuel Scholz
Priority: critical Milestone:
Component: josm Version:
Keywords: Cc:

Description

JOSM should respect the timestamp on objects to do a merge. timestamp of null means, unknown or "very old" ;-).

For sake of simplicity, assume that no timestamp mean e.g. "1.1.1970" or something like this.

JOSM should track an intern last modified date together with the timestamp obtained from the server. If this is null, no modification occoured to the server. the intern timestamp may not be before the servers one (for obvious reasons ;)

First step: Merge items with identical id

  • On merges, look after the newest modification date and use this object.
  • If the newest is a server timestamp and the older object has a local modification a CONFLICT is reported.

Next step: Perform simplify of the data (current "merge")

  • Look for any node on same (+-precision delta) location where one of both nodes has id=0 (new object). Merge both together (this means, download a node will make an existing new node "already uploaded", which is correct in 99.9%)
  • After that, look for segments with same start/end nodes and one id=0. Adulterate them.
  • Finally, do the same for ways with exact the same segments and one of them id=0.

Change History (2)

comment:1 Changed 13 years ago by Immanuel Scholz

Component: datasourcesjosm
Owner: changed from mikel_maron@… to Immanuel Scholz

comment:2 Changed 13 years ago by Immanuel Scholz

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.