24. История версий и сравнение

Сервер хранит прежние версии сценария. Редактор умеет их показывать, сравнивать попарно и возвращать любую из них.

Список версий

Сохранить → галка → История.

Список версий сценария
Figure 1. Список версий

Каждая строка — одно сохранение: время, автор и что в нём менялось. Пометки вроде lwt, scriptdata — это поля, которые сервер записал: scriptdata значит, что менялся сам сценарий, а не только его имя и код.

Самая верхняя строка — Сейчас в редакторе: то, что у вас на экране прямо сейчас, включая несохранённое.

Сравнение

Колонки А и Б выбирают, что с чем сравнивать. Отметьте две версии — и справа появится, чем они отличаются.

Сравнение двух версий
Figure 2. Две версии сравниваются

Разница показывается по существу, а не построчно:

Компоненты добавлены и удалены

с типом и именем.

Свойства изменены

с прежним и новым значением, читаемыми словами.

Связи изменены

«Ответ · Переход: было „Воспроизведение“, стало „Уведомление“» — именно так, а не номерами компонентов.

Переменные

добавленные и удалённые.

Это и есть главная польза сравнения: увидеть чужую правку глазами, прежде чем решать, перезаписывать её или нет.

Сравнить можно и с тем, что у вас в редакторе: поставьте А на серверную версию, а Б — на Сейчас в редакторе. Так видно, что вы наменяли за сегодня и ещё не сохранили.

Подсветка на карте

Список различий отвечает на вопрос «что изменилось», но не отвечает на вопрос «где». Для этого есть Подсветить изменённые на карте.

Подсветка изменённых компонентов
Figure 3. Изменённые компоненты на карте

Изменённые компоненты обводятся кольцом, всё остальное гаснет. Над панелью появляется полоса со счётом и стрелками: по изменённым можно ходить подряд, карта доезжает до каждого сама. Тот, на котором вы стоите, помечен жёлтым, остальные — цветом выделения.

Esc или Сбросить снимают подсветку.

Окно истории сворачивается кнопкой Свернуть — оно уезжает, а подсветка остаётся. Так удобно ходить по изменениям, не закрывая сравнение.

Восстановление версии

Восстановить эту версию в строке. Сценарий на экране заменяется той версией целиком.

Это обычная правка, а не откат на сервере:

  • она попадает в историю отмены — Ctrl+Z вернёт то, что было;

  • на сервере ничего не меняется, пока вы не нажмёте Сохранить;

  • после сохранения восстановленная версия становится новой, самой свежей. Прежние из истории никуда не исчезают.

Восстановление заменяет сценарий целиком. Выборочно взять из старой версии один компонент нельзя — только всё. Если нужен именно кусок, откройте старую версию, восстановите её, скопируйте нужное, отмените восстановление Ctrl+Z и вставьте скопированное.

Трассировка и сравнение не совмещаются

Подсветка изменений и трассировка ветки пользуются одним механизмом и одновременно не работают: включив одно, вы выключаете другое. Открытие истории сбрасывает трассировку само — под погашенной картой подсветки всё равно не разглядеть.

◀ 23. Черновик и сохранение

25. Запуск служебного сценария ▶