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>` обновляется ревизия на текущую
В итоге, документация получает все изменения из пути-источника, произошедшие с момента последнего обновления. В случае конфликтов, они остаются в исходных файлах в виде конфликт-маркеров (`>>>>`/`<<<<`) и должны быть порезолвлены вручную.
### Ограничения
Скрипт не умеет переносить бинарные файлы (картинки и т.д.). Их нужно переносить пока вручную
|