Skip to content

Instantly share code, notes, and snippets.

@Upliner
Created August 2, 2010 16:34
Show Gist options
  • Save Upliner/504906 to your computer and use it in GitHub Desktop.
Save Upliner/504906 to your computer and use it in GitHub Desktop.
OSM merger test
<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6">
<node id="1" lat="0" lon="0.01" visible="false" version="2" action="delete"/> <!-- Local is unmodified, remote is deleted -->
<node id="2" lat="0" lon="0.02" visible="false" version="2" action="delete"/> <!-- Local is modified, remote is deleted -->
<node id="3" lat="0" lon="0.03" visible="true" version="1" /> <!-- Local is deleted, remote is unmodified -->
<node id="4" lat="0" lon="0.04" visible="true" version="2" /> <!-- Local is deleted, remote is modified -->
<node id="5" lat="0" lon="0.05" visible="false" version="2" action="delete"/> <!-- Local is deleted, remote is deleted -->
<node id="6" lat="0" lon="0.06" visible="false" version="5" action="delete"/> <!-- Local is deleted, but unmodified, remote is deleted -->
<node id="7" lat="0" lon="0.07" visible="false" version="3" /> <!-- Local is deleted, but unmodified, remote is undeleted -->
</osm>
<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6">
<node id="1" lat="0" lon="0.01" visible="true" version="1"/> <!-- Local is unmodified, remote is deleted -->
<node id="2" lat="0" lon="0.02" visible="true" version="1" action="modify"/> <!-- Local is modified, remote is deleted -->
<node id="3" lat="0" lon="0.03" visible="true" version="1" action="delete"/> <!-- Local is deleted, remote is unmodified -->
<node id="4" lat="0" lon="0.04" visible="true" version="1" action="delete"/> <!-- Local is deleted, remote is modified -->
<node id="5" lat="0" lon="0.05" visible="true" version="1" action="delete"/> <!-- Local is deleted, remote is deleted -->
<node id="6" lat="0" lon="0.06" visible="false" version="2" action="delete"/><!-- Local is deleted, but unmodified, remote is deleted -->
<node id="7" lat="0" lon="0.07" visible="false" version="2" action="delete"/><!-- Local is deleted, but unmodified, remote is undeleted -->
</osm>
1. Local is unmodified, remote is deleted --> delete
2. Local is modified, remote is deleted --> conflict
3. Local is deleted, remote is unmodified --> delete
4. Local is deleted, remote is modified --> conflict
5. Local is deleted, remote is deleted --> delete
6. Local is deleted and invisible, remote is deleted --> delete
7. Local is deleted and invisible, remote is undeleted --> undelete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment