# Скрипты для переноса изменений в документации ## Как использовать ### Первичная инициализация ```bash ./yql/essentials/docs/scripts/doc_upgrade_arc.sh / ``` Создает файл `` (название может быть произвольным) в директории `` и прописывает в него текущую ревизию репозитория и путь-источник. Одна и таже документация может наполняться из разных источников с разными базовыми ревизиями. Для каждого такого источника нужно создать свой файл. Пример: ```bash ./yql/essentials/docs/scripts/doc_upgrade_arc.sh yql/docs_yfm/docs/ru/essentials.base_rev yql/essentials/docs/ru ``` В примере выше путем-источником для документации в yql/docs_yfm/docs/ru будет yql/essentials/docs/ru. Аналогичный скрипт для git-репозитория находится по пути `yql/essentials/docs/scripts/doc_upgrade_git.sh` ### Обновление документации ```bash ./yql/essentials/docs/scripts/doc_upgrade_arc.sh / ``` Скрипт последовательно выполняет следующие действия: 1. Читает базовую ревизию (rSRC) и путь-источник из `/` 2. Строит diff для ревизии rSRC между `` и путем-источником 3. На место `` копируется содержимое из пути-источника с текущей ревизией 4. На `` накладывается патч из п.2 5. В `/` обновляется ревизия на текущую В итоге, документация получает все изменения из пути-источника, произошедшие с момента последнего обновления. В случае конфликтов, они остаются в исходных файлах в виде конфликт-маркеров (`>>>>`/`<<<<`) и должны быть порезолвлены вручную. ### Ограничения Скрипт не умеет переносить бинарные файлы (картинки и т.д.). Их нужно переносить пока вручную