-
Notifications
You must be signed in to change notification settings - Fork 18
Home
Проект позволяет синхронизировать хранилище 1С предприятия с git как автоматическом так и в ручном режиме. С появлением в 8.3 возможности полной выгрузки файла .cf в структуру файлов, появилась возможность использовать альтернативные системы контроля версий для просмотра и анализа истории разработки 1С.
К сожалению, формат выгрузки не очень удобен для анализа - выгрузка всей конфигурации делается в один каталог и если для маленьких тестовых конфигураций все визуально видно, то на больших конфигурация таких как УПП и УТ11 очень тяжело переходить по файлам. Данный проект появился для пост обработки файлов и копирование их в каталоги, повторяющие структуру дерева конфигурации в конфигураторе.
Файлы перемещаются по каталогам повторяющим структуру дерева метаданных. Дополнительно файлы форм(толстых, неуправляемых) распаковываются, т.к. посмотреть модуль такой формы невозможно.
renames.txt - текстовый файл хранит порядок переименований файла Catalog.КатегорииОбъектов.Form.ФормаСписка.xml в структуру каталогов Catalog\КатегорииОбъектов\Form\ФормаСписка.xml . Разделителем служит -->
.
AUTHORS - в чистом виде для разборки и сборки не используется, используется для определения автора в случаи синхронизации хранилища с git репозиторием. Имеет вид
0f259df0-e82a-4615-879f-687b9cd603d0;Shenja Sosna <[email protected]>
Разделитель ; , указывается Уникальный идентификатор из файла AUTHORS.xml , данный файл формируется с помощью распаковки хранилища программой toolcd.
VERSION - файл, в котором храниться последняя версия . В идеале соответствует номеру версии в хранилище. При синхронизации номер версии из этого файла определяет стоит или не стоит производить синхронизацию.
<?xml version="1.0" encoding="UTF-8"?> <VERSION>1223</VERSION>
xml формат выбран специально, тогда при показе diff (различий) будет показано именно различие версии. Если просто писать номер версии без форматов, то популярные "диффалки" будут показывать как 2 различные строки. Не очень удобно.
Для обратной сборки применяется обратное преобразование из файла renames.txt в линейную структуру и загрузки в пустую базу файлов.