MarcusWolschon / osmeditor4android

Vespucci is a OpenStreetMap editor for Android

Home Page:http://vespucci.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Diff view incorrectly shows tags as changed after conflict resolution

riQQ opened this issue · comments

commented

Vespucci Version

19.3.1

Download source

F-Droid

Device (Manufacturer and Model)

Pixel 6a

Android Version

Android 13

Behaviour/Symptoms

Add some tags with Vespucci on an object. Don't upload. Add some other tags with another editor, e.g. iD, and upload them. Try to upload changes from Vespucci. Take server version in conflict resolution dialog. Now diff view also highlights the changes done with the other editor.

Expected Behaviour

Only changes done via Vespucci are highlighted.

How to recreate

Repeat steps in section behavior

Crash dump submitted (no or yes + date)

No

Any other potentially relevant information

-

Why wouldn't this be the correct behaviour? By choosing the server version, you've edited your local copy to confirm to the server version.

commented

Changes done with Vespucci: A
Changes done with other Editor: B

Version of element before any change: V1
Version of element with changes B: V2

After resolving the conflict in Vespucci via picking the server version, the element is on version V2, so should have the changes B incorporated already, but the the diff view highlights changes A and B and the column Original shows the values of V1, i.e. doesn't have any value if change B added a new tag. I would expect to see the tag value of V2 and not the one of V1 in the column Original.

Currently we simply compare the original version as 1st loaded in vespucci, with the current version. When we download the server side element we push the current local version on to the undo stack, as a result you still have a record of the changes made. Though you currently can't really anything else than undo to check what you had changed, but at least you can do that, which you couldn't if we removed the undo data for the element.

There are some plans to improve the behaviour by providing a facility to merge local changes on to the server side version, see also #464 which would make retaining the data around redundant.