3. Описание MCP-сервера › 3.3 Движок › Версии

Раздел engine_history_* читает историю сохранённых версий файла: список версий и тело любой из них.

Что такое версия

Каждое сохранение файла через engine_php_save, engine_html_save или engine_static_save — и такое же сохранение в среде разработки программы — записывает версию: всё тело файла, время и пользователя, который сохранил. Версии лежат в базе магазина.

Версии есть у модулей и корневых скриптов, шаблонов и статики. У картинок, журналов сервера и файлов элементов версий нет: их не сохраняют, а закачивают или пишут иначе.

Включение и предел

Пишется ли версия и сколько их хранить, решают настройки среды разработки программы на том компьютере, откуда сохраняют: «Настройки редактора → Оптимизация → Управление версиями файлов (хранение изменений)».

Настройка Что делает
«Сохранять версии измененных файлов» без неё версия не пишется
«Максимальное количество версий на каждый файл» сколько версий держать; при сохранении самые старые сверх предела удаляются. По умолчанию 100

Подписи на оригинальном языке могут отличаться.

MCP-сервер берёт эти настройки у программы на своём компьютере: для его сохранений они действуют так же, как для сохранений из программы.

История привязана к пути

Версии хранятся по пути файла. Переименование и перенос их не переносят: прежние версии читаются по старому пути, а у нового пути история начинается заново. Удаление файла историю не трогает — список его версий по-прежнему читается, и из него можно восстановить тело.

Время версии хранится с точностью до секунды. Версии, сохранённые в одну секунду, идут в порядке сохранения: новые первыми.

В программе

Та же история видна в редакторе среды разработки: «Показать/спрятать версии файла», а выбранную версию — «Перенести версию в редактор».