[OSM-dev] A new reverter

Ilya Zverev ilya at zverev.info
Sun Feb 21 17:16:07 UTC 2016

Hi everyone,

If you needed to revert a changeset and thought, all tools seem quite 
complex, I've got you another one. It is just a python script with no 
dependences on third-party libraries or frameworks.


Just do a git clone and use it (responsibly!) Pass a user name to see 
their changesets, a series of changesets ids to revert them (the result 
will be better if you revert a bunch instead of one by one).

There are limitations: it won't revert old changesets that modify a lot 
of references. The script was made to revert mostly tag modifications 
and node moves, and it does it by creating a diff and applying it to the 
latest version. Also it skips tags that were changed after the given 

The second script there can restore any old version of any object, 
undeleting missing references. The result might be messy for complex 
relations, so you should check it afterwards. To get an osmChange file, 
redirect scripts' output to it.


More information about the dev mailing list