<p>Take the example in <a href="https://github.com/openstreetmap/iD/issues/3208#issuecomment-281942743" class="issue-link js-issue-link" data-url="https://github.com/openstreetmap/iD/issues/3208" data-id="163113498" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">openstreetmap/iD#3208 (comment)</a></p>
<p>If you took that diff you'd end up with an osmChange for the changeset of</p>
<div class="highlight highlight-text-xml"><pre><<span class="pl-ent">osmChange</span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>0.6<span class="pl-pds">"</span></span> <span class="pl-e">generator</span>=<span class="pl-s"><span class="pl-pds">"</span>iD<span class="pl-pds">"</span></span>>
   <<span class="pl-ent">create</span>>
      <<span class="pl-ent">node</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>1<span class="pl-pds">"</span></span> <span class="pl-e">lon</span>=<span class="pl-s"><span class="pl-pds">"</span>11.625506992810122<span class="pl-pds">"</span></span> <span class="pl-e">lat</span>=<span class="pl-s"><span class="pl-pds">"</span>46.866699181636555<span class="pl-pds">"</span></span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>0<span class="pl-pds">"</span></span> <span class="pl-e">changeset</span>=<span class="pl-s"><span class="pl-pds">"</span>3<span class="pl-pds">"</span></span>>
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>highway<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>bus_stop<span class="pl-pds">"</span></span> />
      </<span class="pl-ent">node</span>>
      <<span class="pl-ent">node</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>2<span class="pl-pds">"</span></span> <span class="pl-e">lon</span>=<span class="pl-s"><span class="pl-pds">"</span>11.62686047585252<span class="pl-pds">"</span></span> <span class="pl-e">lat</span>=<span class="pl-s"><span class="pl-pds">"</span>46.86730122861715<span class="pl-pds">"</span></span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>0<span class="pl-pds">"</span></span> <span class="pl-e">changeset</span>=<span class="pl-s"><span class="pl-pds">"</span>3<span class="pl-pds">"</span></span>>
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>highway<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>bus_stop<span class="pl-pds">"</span></span> />
      </<span class="pl-ent">node</span>>
      <<span class="pl-ent">relation</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>1<span class="pl-pds">"</span></span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>0<span class="pl-pds">"</span></span> <span class="pl-e">changeset</span>=<span class="pl-s"><span class="pl-pds">"</span>3<span class="pl-pds">"</span></span>>
         <<span class="pl-ent">member</span> <span class="pl-e">type</span>=<span class="pl-s"><span class="pl-pds">"</span>node<span class="pl-pds">"</span></span> <span class="pl-e">role</span>=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span> <span class="pl-e">ref</span>=<span class="pl-s"><span class="pl-pds">"</span>1<span class="pl-pds">"</span></span> />
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>type<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>route<span class="pl-pds">"</span></span> />
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>name<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>AtoB<span class="pl-pds">"</span></span> />
      </<span class="pl-ent">relation</span>>
      <<span class="pl-ent">relation</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>2<span class="pl-pds">"</span></span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>0<span class="pl-pds">"</span></span> <span class="pl-e">changeset</span>=<span class="pl-s"><span class="pl-pds">"</span>3<span class="pl-pds">"</span></span>>
         <<span class="pl-ent">member</span> <span class="pl-e">type</span>=<span class="pl-s"><span class="pl-pds">"</span>relation<span class="pl-pds">"</span></span> <span class="pl-e">role</span>=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span> <span class="pl-e">ref</span>=<span class="pl-s"><span class="pl-pds">"</span>1<span class="pl-pds">"</span></span> />
         <<span class="pl-ent">member</span> <span class="pl-e">type</span>=<span class="pl-s"><span class="pl-pds">"</span>relation<span class="pl-pds">"</span></span> <span class="pl-e">role</span>=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span> <span class="pl-e">ref</span>=<span class="pl-s"><span class="pl-pds">"</span>3<span class="pl-pds">"</span></span> />
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>type<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>route_master<span class="pl-pds">"</span></span> />
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>name<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>master<span class="pl-pds">"</span></span> />
      </<span class="pl-ent">relation</span>>
      <<span class="pl-ent">relation</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>3<span class="pl-pds">"</span></span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>0<span class="pl-pds">"</span></span> <span class="pl-e">changeset</span>=<span class="pl-s"><span class="pl-pds">"</span>3<span class="pl-pds">"</span></span>>
         <<span class="pl-ent">member</span> <span class="pl-e">type</span>=<span class="pl-s"><span class="pl-pds">"</span>node<span class="pl-pds">"</span></span> <span class="pl-e">role</span>=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span> <span class="pl-e">ref</span>=<span class="pl-s"><span class="pl-pds">"</span>2<span class="pl-pds">"</span></span> />
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>type<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>route<span class="pl-pds">"</span></span> />
         <<span class="pl-ent">tag</span> <span class="pl-e">k</span>=<span class="pl-s"><span class="pl-pds">"</span>name<span class="pl-pds">"</span></span> <span class="pl-e">v</span>=<span class="pl-s"><span class="pl-pds">"</span>BtoA<span class="pl-pds">"</span></span> />
      </<span class="pl-ent">relation</span>>
   </<span class="pl-ent">create</span>>
</<span class="pl-ent">osmChange</span>></pre></div>
<p>If you process this all at once, all the references are there, but if you split it up between the relation 2 and 3 creates you get two diffs, the first of which references relations that don't exist.</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/1465#issuecomment-282604636">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLbsYJiZZ_2Lqz1KZV_iQsidl-t8iks5rgiB8gaJpZM4MLUZv">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLc6DibzkxAbrju0CwE4nU_21VkkOks5rgiB8gaJpZM4MLUZv.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/1465#issuecomment-282604636"></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":"PERSON","message":"@pnorman in #1465: Take the example in https://github.com/openstreetmap/iD/issues/3208#issuecomment-281942743\r\n\r\nIf you took that diff you'd end up with an osmChange for the changeset of\r\n\r\n```xml\r\n\u003cosmChange version=\"0.6\" generator=\"iD\"\u003e\r\n   \u003ccreate\u003e\r\n      \u003cnode id=\"1\" lon=\"11.625506992810122\" lat=\"46.866699181636555\" version=\"0\" changeset=\"3\"\u003e\r\n         \u003ctag k=\"highway\" v=\"bus_stop\" /\u003e\r\n      \u003c/node\u003e\r\n      \u003cnode id=\"2\" lon=\"11.62686047585252\" lat=\"46.86730122861715\" version=\"0\" changeset=\"3\"\u003e\r\n         \u003ctag k=\"highway\" v=\"bus_stop\" /\u003e\r\n      \u003c/node\u003e\r\n      \u003crelation id=\"1\" version=\"0\" changeset=\"3\"\u003e\r\n         \u003cmember type=\"node\" role=\"\" ref=\"1\" /\u003e\r\n         \u003ctag k=\"type\" v=\"route\" /\u003e\r\n         \u003ctag k=\"name\" v=\"AtoB\" /\u003e\r\n      \u003c/relation\u003e\r\n      \u003crelation id=\"2\" version=\"0\" changeset=\"3\"\u003e\r\n         \u003cmember type=\"relation\" role=\"\" ref=\"1\" /\u003e\r\n         \u003cmember type=\"relation\" role=\"\" ref=\"3\" /\u003e\r\n         \u003ctag k=\"type\" v=\"route_master\" /\u003e\r\n         \u003ctag k=\"name\" v=\"master\" /\u003e\r\n      \u003c/relation\u003e\r\n      \u003crelation id=\"3\" version=\"0\" changeset=\"3\"\u003e\r\n         \u003cmember type=\"node\" role=\"\" ref=\"2\" /\u003e\r\n         \u003ctag k=\"type\" v=\"route\" /\u003e\r\n         \u003ctag k=\"name\" v=\"BtoA\" /\u003e\r\n      \u003c/relation\u003e\r\n   \u003c/create\u003e\r\n\u003c/osmChange\u003e\r\n```\r\n\r\nIf you process this all at once, all the references are there, but if you split it up between the relation 2 and 3 creates you get two diffs, the first of which references relations that don't exist."}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/1465#issuecomment-282604636"}}}</script>