<p>I would like to see more modifiers to the "modify" and "delete" sections in changeset uploads, along the lines of the existing "if-unused" modifier (or qualifier?) on the "delete" section (see <a href="http://wiki.openstreetmap.org/wiki/API_v0.6#Diff_upload:_POST_.2Fapi.2F0.6.2Fchangeset.2F.23id.2Fupload">http://wiki.openstreetmap.org/wiki/API_v0.6#Diff_upload:_POST_.2Fapi.2F0.6.2Fchangeset.2F.23id.2Fupload</a>).</p>
<p>Reverting a large set of edits could be much more efficient if the following were supported:</p>
<ol>
<li>
<p>"ignore-version" modifier on "delete" call to execute the deletion even if the object meanwhile has a different version. This would be used to delete e.g. a larger import where even if someone else had modified an object in the meantime, it still has to be deleted.</p>
</li>
<li>
<p>"if-current" modifier on "delete" and "modify" calls to execute the deletion or modification only if the version transmitted is current (that is the default behaviour anyway) and silently ignore the deletion or modification if the version is not current (instead of cancelling the whole transaction which is the default behaviour). This could be used to revert a large mechanical edit where those objects that have meanwhile been touched by other mappers are exempt.</p>
</li>
</ol>
<p>I'm happy to prototype these modifications but if possible I'd like some feedback on the ideas first.</p>
<p>A more ambitious way to improve the reverting of edits would be extending the changeset upload to allow a "revert" block that can revert objects to earlier versions without actually transmitting the full earlier version, like</p>
<pre><code><revert>
   <way id="1234" version="6" revert_to_version="2" />
</revert>
</code></pre>
<p>but that's something for 0.7 I guess.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/1389">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLa9jT87saJ7STrzqTlpFeGI-HA_tks5rFmkjgaJpZM4LGTZG">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLVM_LcMvTCazOlWVOVOH8VOu3t3Nks5rFmkjgaJpZM4LGTZG.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/openstreetmap/openstreetmap-website/issues/1389"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"Add changeset upload modifiers (#1389)"}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/1389"}}}</script>