Выгрузка начального состояния и изменений конфигурации 1С типовыми средствами
ЦЕЛЬ
Видеть в Git изменения текста модулей не выгружая в Git всю конфигурацию.
ОПРЕДЕЛЕНИЯ
Имя | Описание |
---|---|
Эталон | Конфигурация 1С, подключённая к хранилищу конфигураций, которая только обновляется из хранилища. |
Разработка | База для разработки, подключённая к хранилищу, которая обновляется из хранилища и в которой разработчик изменяет объекты. |
ФАЙЛЫ
Имя | Описание |
---|---|
icdump.py | Использование: icdump.py COMMAND [--config CONFIG] COMMAND Команда --config CONFIG Файл настроек в формате json, по умолчанию config.json |
icdumplib.py | Инициализация и вспомогательные функции. |
config.json | Настройки |
КОМАНДЫ
Имя | Описание |
---|---|
setup | Выгружает эталон |
update | Выгружает изменения эталона |
precommit | Выгружает различия между разработкой и эталоном. |
master | Файлы, которые есть в репозитории, но нет в выгрузке разработки, удаляет из репозитория. Файлы, которые есть в выгрузке разработки, но нет в репозитории, копирует из выгрузки эталона в репозиторий. |
develop | Копирует файлы из выгрузки разработки в репозиторий |
ПОРЯДОК РАБОТЫ
Действие | Команда | Результат |
---|---|---|
Перед началом работы | ||
Выгрузить эталон | setup | Начальная выгрузка эталона |
После захвата и изменения объектов | ||
Обновить выгрузку эталона | update | В выгрузке эталона изменения сделанные другими во время изменения объектов |
Выгрузить разработку | precommit | В выгрузке разработки изменённые объекты |
Обновить эталон в репозитории | master | Оригиналы изменённых объектов в репозитории |
Git Commit | Оригиналы изменённых объектов в Git | |
Обновить разработку в репозитории | develop | Изменённые объекты в репозитории |
Git Commit | Изменённые объекты в Git |
Таким образом при каждой выгрузке, когда появились новые изменённые объекты, сначала в Git будут выгружены их оригиналы, затем их изменения. В результате можно будет сравнивать изменения с оригиналами, не выгружая в Git всю конфигурацию.
При использовании git-flow master делать в ветку master, develop в ветку develop или в ветку feature для этих изменений и перед develop делать объединять (merge) эту ветку и ветку master.
Примечания
Работало в 8.3.13. В 8.3.12 precommit выгружает ВСЮ конфигурацию, хотя в файлах ConfigDumpInfo.xml Kdiff3 показывает различия только в нескольких строках реально изменённых объектов.