Uk:JOSM/Plugins/Reverter

From OpenStreetMap Wiki
Jump to navigation Jump to search

Reverter — втулок для повернення попереднього стану змінених об’єктів.

Застереження

Положення викладені у Revert scripts#Act_responsibly! та на сторінці Automated Edits застосовуються й тут. Втулок не призначено для використання у війнах правок та вчинення деструктивних дій.

Не відкатуйте зміни інших учасників проєкту попередньо не обговоривши з ними ваші наміри. Робіть це якомога чемніше, дайте час на відповідь – почекайте відповіді хоча б з тиждень. Пошкоджені дані можна швидко виправити, а от для відновлення зруйнованих стосунків у спільноті треба набагато більше часу. :)

Не піддавайся спокусі зробити відкат якомога раніше, лише щоб уникнути конфліктів редагувань з іншими учасниками! Якщо ви вагаєтесь, обговоріть стан справ з іншими учасниками спільноти у загальних каналах спілкування, перш ніж діяти.

Але зважте, що відвертий вандалізм, як додавання "Ритуального місця для жертвоприношень немовлят" (way 894696391) посеред крижаного покриву в Гренландії, може бути скасований негайно.

Застосування

Screenshot-JOSM reverter plugin.png
  • Завантажте поточні дані для території, набір змін для якої ви збираєтесь відкотити. Якщо ви не завантажите кілька об’єктів – не страшно, вони будуть завантажені потім автоматично. Ви також можете розпочати з порожнього шару даних. (Файл -> Новий шар)
  • Після вибору втулка Reverter з переліку JOSM/Plugins, його встановлення та перезапуску JOSM, у вас з’явиться новий пункт меню Дані -> Скасувати набір змін. Скористайтесь ним та введіть номер набору змін, який ви збираєтесь відкотити. Якщо у вас у буфері обміну міститься чинний ідентифікатор або URL набору змін, поле “Набір змін” буде заповнене цим значенням. Для повного скасування набору змін залиште типові налаштування.
    • Порада: Якщо в наборі змін, який ви збираєтесь відкотити, було видалено лінію, після завантаження даних втулком показуються лише її точки, спробуйте зробити ще один відкат з тим самим номером набору змін. У деяких випадках вилучена лінія буде показуватись в JOSM.
  • Втулок виконає дії, що повернуть дані у попередній стан. Перевірте результати.
  • Надсилання. У вікні надсилання даних остаточно ознайомтесь із підсумками перед тим, як натиснути кнопку “Надіслати зміни”

Частковий відкат

Якщо набір змін в основному був у порядку, але зламав кілька об’єктів, ви можете зробити частковий відкат. Існує два способи часткового відкату:

  • Зробіть повный відкат, як описано вище, але не надсилайте зміни на сервер. Виділіть лише ті об’єкти, які ви бажаєте відновити та надішліть лише їх (Файл -> Надсилання виділеного…). Однак, якщо результати відкату мають дії по вилученню об’єктів, їх не можна виділити, тож вони не будуть відновлені.
  • Спочатку, завантажте всі об’єкти до яких ви бажаєте застосувати відкат, виділіть їх та скористайтесь пунктом Скасувати зміни тільки виділених об’єктів у вікні Reverter-а.

В обох випадках, для відновлення геометрії ліній вам потрібно виділити як самі лінії, так і точки з яких вони складаються. (Бо лінії це лише перелік точок з яких вони складаються, без координат, які в свою чергу є атрибутом точок). Ви можете зробити це за допомогою Пошуку (Ctrl-F) додавши в поле для пошуку вираз selected | child (selected type:way), який допоможе виділити точки всіх виділених ліній.

Чистий та брудний відкати

Набір змін є чистим якщо об’єкти які містяться в ньому даними не піддавалися подальшим змінам (наприклад, інші користувачі не змінювали їх), в іншому випадку набір змін є брудним. Reverter може впоратись як з чистим так і з брудним відкатом. У випадку наявності подальших змін об’єктів які є предметом відкату буде створено конфлікт даних, який підлягатиме розв’язанню. Ви можете розв’язати такі конфлікти використовуючи стандартний інструмент розв’язання конфліктів наявний в JOSM, після чого завантажити виправлені дані на сервер.

Відкат кількох наборів змін одночасно

Можна зробити одночасний відкат для кількох послідовних наборів змін за раз. Вкажіть їх ідентифікаторі в Reverter в потрібному порядку (останній с початку).

(Цей спосіб слід використовувати лише у випадку, коли ви точно знаєте що робити та готові взяти повну відповідальність за збереженням цілісності даних. Якщо ви не впевнені у власних силах, зверніться до Data working group.

Розв’язання конфліктів

https://josm.openstreetmap.de/wiki/Uk:Help/Dialog/Conflict

Як це працює?

Втулок завантажує набори змін з сервера. Він завантажує всі об’єкти, на які впливає зазначений набір змін. Він не завантажує поточну версію об’єктів, а лише ту версію, яку потрібно відкотити. Після чого він змінює локальну копію об’єктів, повертаючи їх у стан, в якому вони були до внесення змін зазначеним набором. Ці зміни обробляються JOSM так само, які й інші зміни, які ви робите вручну.

А саме:

  • Якщо набором змін додано теґ до наявних об’єктів, який потрібно прибрати, такий теґ буде вилучено втулком і об’єкт буде позначено як брудний (тобто як змінений, якщо ви будете шукати його засобами пошуку JOSM використовуйте ключове слово "modified").
  • Якщо набором змін було вилучено чи змінено теґи у наявних об’єктів, ці теґи та їх значення будуть відновлені втулком до попереднього стану і втулком і об’єкт буде позначено як брудний.
  • Якщо в наборі змін міститься інформація про вилучення об’єктів, втулок відновить їх (тобто прибере службову позначку про їх видимість в базі). Ідентифікатор об’єкта залишиться без змін, а також залишиться історій його попередніх змін (Об’єкт не стає доступним до завантаження на сервер якщо його теґи, геометрія або члени залишаються без змін, тому що внутрішня версія відновленого об’єкта все ще не позначена як брудна і відновлений об’єкт все ще не включено до переліку "modified" в редакторі).
  • Якщо в наборі змін міститься інформація про створення нового об’єкта (наприклад дубліката), його буде вилучено (цей об’єкт буде позначено як брудний). Ви не побачите змін на мапі, якщо ви не завантажували поточні дані до застосування втулка. Але ви бачитимете інформацію про вилучення об’єктів у вікні надсилання змін на сервер.

Ви можете скасувати відкат, щоб візуально перевірити в редакторі зміни та мати змогу виділити та відшукати об’єкти щодо яких здійснюється відкат, натискаючи Ctrl+Z (Скасувати), що миттєво застосовується до кожної модифікації, зробленої ревертером; натискання Ctrl+Y дозволить повернутись до ваших змін (це може бути корисно для візуального порівняння на конкретних областях або порівняння значень теґів до та після відкату, та перевірки чи дійсно ви завантажуватимете цей відкат на сервер).

Надсилання даних відбувається так само як і для звичайних змін, версію кожного зміненого об’єкта буде збільшено, та в історію буде додано інформацію про відкат.

Проблеми

Будь ласка, у випадку виникнення проблем в роботі втулка сповістіть про це. Також, іноді може з'являтися помилка „Precondition failed“. В цьому випадку, потрібно повідомити про помилку розробникам. Під час підготовки звіту про помилку вкажіть всі кроки які ви виконували та номери наборів змін

Розробка

Автор втулка User:Upliner

Сирці на GitHub: http://github.com/Upliner/josm-reverter

Дивіться також

  • Undelete Plugin
  • revert scripts використовується для повністю автоматичного та повного відкату, використовується для масових відкатів