README.md 2.6 KB

Скрипты для переноса изменений в документации

Как использовать

Первичная инициализация

./yql/essentials/docs/scripts/doc_upgrade_arc.sh <dst_path>/<src.cfg> <doc_source_dir>

Создает файл <src.cfg> (название может быть произвольным) в директории <dst_path> и прописывает в него текущую ревизию репозитория и путь-источник. Одна и таже документация может наполняться из разных источников с разными базовыми ревизиями. Для каждого такого источника нужно создать свой файл.

Пример:

./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

Обновление документации

./yql/essentials/docs/scripts/doc_upgrade_arc.sh <dst_path>/<src.cfg>

Скрипт последовательно выполняет следующие действия:

  1. Читает базовую ревизию (rSRC) и путь-источник из <dst_path>/<src.cfg>
  2. Строит diff для ревизии rSRC между <dst_path> и путем-источником
  3. На место <dst_path> копируется содержимое из пути-источника с текущей ревизией
  4. На <dst_path> накладывается патч из п.2
  5. В <dst_path>/<src.cfg> обновляется ревизия на текущую

В итоге, документация получает все изменения из пути-источника, произошедшие с момента последнего обновления. В случае конфликтов, они остаются в исходных файлах в виде конфликт-маркеров (>>>>/<<<<) и должны быть порезолвлены вручную.

Ограничения

Скрипт не умеет переносить бинарные файлы (картинки и т.д.). Их нужно переносить пока вручную