Opened 4 years ago
Last modified 2 years ago
#3804 reopened enhancement
Upload does upload unchanged nodes/ways/relations
| Reported by: | andre68@… | Owned by: | team |
|---|---|---|---|
| Priority: | minor | Component: | Core |
| Version: | latest | Keywords: | |
| Cc: |
Description
JOSM currently uploads nodes/ways/relations even if they have not been changed or the change was retracted by not using undo.
Example 1: Adding a tag to a node und removing that tag afterwards without using undo. Undo is not usable if there were other changes in the meantime. The node is beeing uploaded then which should not be the case.
Example 2: Joining ways. When a node of way1 is joined to way2 then both way1 and way2 are beeing uploaded even though way1 was not modified.
This unnecessarily stresses the OSM server and makes the history of the object unnecessarily long.
JOSM should compare the current attributes of an object with the old state and should only upload the object when there was a real change.
Attachments (1)
Change History (6)
comment:1 Changed 4 years ago by Daeron
- Summary changed from upload does upload unchanged nodes/ways/relations to [PATCH] upload does upload unchanged nodes/ways/relations
Changed 4 years ago by Daeron
comment:2 Changed 4 years ago by stoecker
- Resolution set to fixed
- Status changed from new to closed
comment:3 Changed 4 years ago by anonymous
- Resolution fixed deleted
- Status changed from closed to reopened
- Summary changed from [PATCH] upload does upload unchanged nodes/ways/relations to Upload does upload unchanged nodes/ways/relations
The patch was only for the example 2, the example 1 needs further improvements
comment:4 Changed 2 years ago by skyper
Still in r4013
comment:5 Changed 2 years ago by stoecker
Well, case 1 is not that simple. We would need to have a "remember current server state" and then check if modified element is really different to the server version. I'm pretty sure there is another older ticket which has the same idea as improvement.



Attached patch fixes the second case.
The first case would need either storing the original version of all modified objects and on upload comparing for actual changes, or storing a hash for the original version, and comparing that to the modified versions hash.