aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/docs/scripts/README.md
blob: 4517d4dc4994c118d9f52a39c7848b9b908f8df7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Скрипты для переноса изменений в документации

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

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

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

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


Пример:

```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 <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>` обновляется ревизия на текущую

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

### Ограничения

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