[OSM-dev] Changeset Revert Tool

Lars Francke lars.francke at gmail.com
Wed Apr 22 11:27:17 BST 2009


>> Can we start a thread discussing what is required/wanted in a changeset
>> tool? What should such a tool do besides "revert changes from changeset x"?
>
> I think it would be best to first concentrate on some kind of OpenAuth
> support (or something homebuilt) that would allow a third-party
> application to execute API calls on behalf of a user.

And I think these are two different things :)
http://stakeventures.com/articles/2007/11/26/how-to-turn-your-rails-site-into-an-oauth-provider
OAuth won't be needed for an offline revert tool but ist sure would be
nice to have.

As to the changeset revert: The easiest case would be if there were no
other changesets in that bounding box since the changeset has been
comitted. In that case we would only need to find the earliest version
of every element in the changeset (as there can be multiple changes to
one element in a changeset) then fetch the history of each element and
create a changeset with the version before. The wiki page for OSM 0.6
says that it may not be guaranteed that the version numbers are always
increased by 1 so it may not be enough to just substract 1 from the
"earliest version" from the changeset.

In addition I think it might be a good idea to revert 'atomically'
using the OsmChange upload.

An API call "previous version" or "next version" would be nice to
avoid having to fetch the entire history and still be reliable in case
of version number 'jumps'.

Well...that sounds like a lot of work even for a simple case and I'm
sure I'm missing something but that's all I can come up with so far.

Lars




More information about the dev mailing list