Einzelnes Detail im Changeset rücksetzen

Durch Konflikte beim Hochladen habe ich eine Relation geleert.

Kann mal jemand die Relation 51809 aus dem Changeset 14895586 zurücksetzen und mir hinterher erklären, wie sowas in JOSM geht? Ich schaffe es nämlich nur, das ganze Changeset zurückzusetzen.

Gibt es eigentlich irgendwo Anleitungen wie man bei Konflikten mit anderen Changesets vorgeht? Es ist mir völlig unklar wie das Menü funktioniert und es gibt da auch eher wenig Übungssache darin.

Oh, Linie 11 in Dresden. Hier die Anleitung:

reverter Plugin installieren, JOSM neustarten, Datei → Objekt herunterladen…, Objekttyp Relation, ID 51809, keine Verweise herunterladen, Relationselemente herunterladen, Separate Ebene, Relation selektieren (z.B. im Relationen Fenster Route doppelklicken), Versionsprotokoll → Änderungssatz umkehren, Änderungssatz 14895586, nur Auswahl umkehren, Datei → Auswahl hochladen, Warnungen ignorieren, Kommentar eintippen, Änderungen hochladen.

Ich habe es nicht hochgeladen. Komm, das schaffst du selbst!

Was genau meinst du damit?

ok, geändert.

Das Problem trat auf, weil jemand zeitgleich an der Relation etwas geändert hat. Ich hatte diese Situation nun vllt. zum 3.Mal, ich verstehe diesen Konflikte auflösen-Bildschirm aber nicht.

Bei Konflikten musst du immer mit drei Versionen umgehen:

  • Die Version mit deinen Änderungen
  • Die Version auf dem Server
  • Deine Entscheidung was übernommen werden soll.

Die Entscheidung, was übernommen werden soll, musst du explizit treffen.
Wenn du nun keine Entscheidung über die Mitglieder einer Relation triffst, so ist die Ergebnisliste leer. Wenn du nun im Konflikt-Dialog sagst, diese Entscheidung übernehmen, dann hast du auf diese Art eine Relation ohne Mitglieder erstellt. Das war sicher nicht die Absicht, aber es passiert (und leider ohne Warnung).

Daher mein Rat im Zweifelsfall, die Version auf dem Server als gültig markieren. Das schließt insbesondere ein, alle Mitglieder der Server-Liste in die Ergebnisliste zu kopieren. Das kann man leicht übersehen (da es keine Warnung gibt) und so eine ‘leere’ Relation produzieren.

Im Revert-Dialog, in dem du das Changeset angibst, kannst du einstellen, nur die ausgewählten Objekte zurück zu setzen. Dann die Relation als einziges Objekt auswählen und den Revert duchführen.
Wichtiger Hinweis: Reverts bitte immer in einer eigenen Ebene durchführen.

An die mitlesenden JOSM-Entwickler: Da scheint noch Bedarf für zusätzliche Absicherung vorhanden zu sein.

Edbert (EvanE)

Ob’s die gibt? Na, hoffentlich.

Ich fand diesen Dialog auch ziemlich unübersichtlich, als ich ihn das erste Mal gesehen habe, und war versucht, alles so zu lassen wie angezeigt (“default ist immer gut”). Das wird zwar meiner Erinnerung nach zunächst durch den ausgegrauten Button verhindert, aber nach etwas hektischem Herumklicken war der auch irgendwann aktiv.

Aus meiner Sicht sollte das Hochzuladende entweder mit der Serverversion als Default vorbelegt werden (wie von dir vorgeschlagen im Zweifel eher die Server-Version), oder wenn das nicht gewünscht ist zumindest eine Warnmeldung erscheinen, wenn die Auswahl für die Hochzuladende Version leer gelassen wird.

Ob die hier mitlesen kann ich nicht sagen. JOSM-Entwickler mit Deutsch als Muttersprache gibt es auf jeden Fall.

Wenn man sicher gehen will, dass ein Problem beachtet (nicht zwingend im eigenen Sinne gelöst) wird, dann sollte man ein Ticket dafür erstellen (https://josm.openstreetmap.de/report).

Edbert (EvanE)

Nahmd,

Mir wäre beim ersten Mal ein “Panik!”-Knopf lieb gewesen:

“Auch wenn ein paar Eingaben von mir verloren gehen aber mach dass dieses blöde Fenster weggeht.”

Gruß Wolf

Hallo Wolf

Es gibt ja den Button “Abbrechen”. Damit geht zwar das Fenster weg, der Konflikt aber bleibt ungelöst.

Ein Button “Nimm die Server-Version / Use version on the server” (oder so ähnlich) wäre sicher nützlich (insbesondere bei Relationen). Der sollte dann die Server-Version des Objektes in die entsprechenden Lösungsfelder eintragen und damit den Konflikt lösen. Ob der dann auch gleich das Fenster schließt oder nur die entsprechenden Felder mit der Server-Version vorbelegt, sei erst einmal offen gelassen. Auf diese Weise gingen zwar ein Teil der eigenen Änderungen verloren, aber die Änderungen anderer blieben erhalten.

PS: Konflikte sind bei den ersten Malen wirklich furchteinflössend.

Edbert (EvanE)

Nahmd,

Danach kann ich immer noch nicht speichern “es gibt noch ungelöste Konflikte”.
Ich meinte das genau wie oben beschrieben: ”mach das Fenster weg. Und zwar richtig!”
Verstecken ist keine Lösung.

Das reicht nicht, denn…

den Button-Text versteht man, sobald man ein gedankliches Modell von dem hat, was ein Konflikt ist. Hat man aber beim ersten Male nicht. Und dann ist die Reaktion: ”Häh? Server-Version? Bahnhof?”

Daher mein Vorschlag: der Panik-Knopf mit Notausgang.

Oder möglicherweise als Default der Union von Alt und Neu bei gleichzeitigem Eintrag eines FIXME in die Relation mit Hinweis auf das Problem. Da ist mir aber nicht klar, ob das nicht auch mehr zerstören kann als reparieren.

Gruß Wolf

Notausgang