You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+29-12Lines changed: 29 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,20 @@
1
-
##Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
1
+
# Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
2
2
3
3
[](https://gitter.im/xDrivenDevelopment/precommit1c?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам
**precommit1c** - инструмент для хранения в Git исходников внешних отчетов/обработок, технически состоит из:
12
+
11
13
* v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки, расширения и запускающий команды для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников.
12
14
*[V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
13
15
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os
3. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit`
27
29
28
-
####Установка через OneScript Package Manager
30
+
### Установка через OneScript Package Manager (предпочтительно)
29
31
30
-
1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора).
32
+
1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора). При этом необходимые библиотеки oscript будут установлены автоматически.
31
33
32
34
2. Перейдите в рабочий каталог репозитория, для которого следует использовать автоматическую сборку/разборку.
33
35
34
36
3. Выполните из командной строки `precommit1c --install` (здесь можно без прав администратора).
35
37
36
-
####Установка через zip-архив
38
+
### Установка через zip-архив
37
39
38
40
1. Скачайте zip-архив precommit1c.zip со страницы [последнего релиза](https://github.com/xDrivenDevelopment/precommit1c/releases/latest).
39
41
@@ -50,12 +52,15 @@
50
52
v8files-extractor.os
51
53
```
52
54
53
-
#### Установка через git clone
55
+
3. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`.
56
+
57
+
### Установка через git clone
54
58
55
59
1. Склонируйте репозиторий `precommit1c` в удобное место.
56
60
57
61
2. После клонирования репозитория необходимо инициализировать используемые подмодули.
4. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`.
83
+
76
84
## Запуск
77
85
78
86
После установки достаточно для проверки сделать commit для любого файла epf/erf/cfe, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.
При использовании v8Reader макеты выгружаются в файлы, соответствующие их типам, дополнительно обрабатываются специальные случаи:
146
+
147
+
* У макетов табличных документов дополнительно создаются .txt версии, чтобы их было легче сравнивать в текстовом редакторе.
148
+
* У макетов типа html дополнительно выгружаются файлы вложений.
149
+
* Макеты в двоичных данных выгружаются либо в .bin, либо (для печатных форм) в тот тип файла, который указан в имени макета (например, `ПФ_MXL_КакаяТоПечатнаяФорма` будет выгружен в `ПФ_MXL_КакаяТоПечатнаяФорма.mxl`).
150
+
135
151
## Известные проблемы
136
152
137
153
1. При использовании некоторых версий SourceTree (удобный клиент git) может возникать следующая ошибка:
154
+
138
155
>`.git/hooks/pre-commit: line 4: oscript: command not found`
139
156
Несколько вариантов решения:
157
+
140
158
+ убедиться, что команда `oscript` доступна
141
159
+ для проверки вызвать из командной строки или Win+R `cmd /k oscript`
* добавить нужную обработку в индекс git - например, `git add XXX.epf`
152
170
* установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов
153
171
* выполнить `git commit` или `precommit1c --git-precommit`
172
+
* Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`
173
+
* или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg`
174
+
* Или создать и выполнить командный файл
154
175
155
-
+ Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`
156
-
157
-
+ или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg`
158
-
159
-
* Или создать и выполнить командный файл
160
176
```bat
161
177
git add XXX.epf
162
178
@set LOGOS_CONFIG=logger.rootLogger=DEBUG
@@ -166,6 +182,7 @@ git add XXX.epf
166
182
* где каталог `src` - выходной каталог, где хранятся исходники
167
183
168
184
2. Для отключения отладочных логов выполнить обратные действия
185
+
169
186
## Что внутри
170
187
171
188
Как это работает: `v8files-extractor.os` полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*.
0 commit comments