#5160 closed defect (fixed)
ChangesetDataSet ignores several versions of object
Reported by: | Upliner | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin reverter | Version: | |
Keywords: | Cc: |
Description (last modified by )
Changesets in OSM are not atomic. It means that several versions of same object may be present in one changeset. Nevertheless, ChangesetDataSet class ignores this fact and overwrites old versions by subsequent ones.
It leads to incorrect reversion of this kind of changesets by reverter.
Attachments (0)
Change History (4)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
reverter bug was fixed in [o23273] by copying related code. If there will be some patches to the core, I'll reopen this ticket.
comment:3 by , 6 years ago
Description: | modified (diff) |
---|
I try to understand the code in reverter.corehacks.ChangesetDataSet.put()
.
If I got that right the comment
// Save only latest versions of primitives for reverter
should be changed to
// Save only earliest version of primitive for reverter
or maybe
// Save only lowest version of primitive for reverter
Did you really see changeset where the changes are not sorted by version? The code seems to handle the case that a cs contains data out of order like
...
modify node 123 to version 2
...
create node 123 (to version 1)
...
comment:4 by , 6 years ago
Component: | Core → Plugin reverter |
---|
What will be better here: try to fix changeset management system in core or copy all necessary code to reverter plugin and fix this issue there?