- Делит файл на строки. Один объект поддержки - одна строка.
- К каждой строке добавляется имя объекта в 1С.
Приложение имеет команды
convert
- делит исходный файл на строки и добавляет имена 1Сrestore
- склеивает файл до исходного состояния (полное совпадение с исходным, включая BOM)set-hook
- устанавливает хукpre-commit
info
- выводит информацию о поддержке в зависимости от опцийdump-cache
- подготавливает файл дампа конфигурации для версионирования: без идентификаторов версий и упорядоченно по имени метаданного (и идентификатору свойств)
PS: начальная реализация была выполнена через плагин
gitsync
(см. здесь).
Исходный файл состоит из множества записей 0,0,{ГУИД},{ГУИД},
записанных в одну строку
Дубли {ГУИД}
сокращаются. Каждый Гуид переносится на отдельную строку.
Из файла ConfigDumpInfo.xml
читаются сопоставления гуидов именам объектов 1С. Имена каждого объекта поддержки добавляются в каждую строку.
Новые строки имеют вид 0,0,{ГУИД}, # Имя_в_1С
При снятии объекта с поддержки или изменении режима поддержки в git diff
теперь возможно увидеть измененнения по каждому объекту.
1,0,a3f5e643-b9c4-4763-9c5d-91fc9be92710, # Configuration.ДокументооборотКОРП
0,0,7c9bc131-bc25-474d-979f-b84ebdb2145c, # Language.Русский
0,0,adbb653b-752d-45cf-8b2d-6f6030c33b43, # Subsystem.АдминистрированиеСервиса
0,0,e4993f80-2a2f-4b8e-ad88-a9e2c93472a1, # Subsystem.АдминистрированиеСервиса.Subsystem.ОбластиДанных
0,0,b913837a-e6bf-4de3-8b61-9b742a1947ba, # Subsystem.АдминистрированиеСервиса.Subsystem.ОчередьЗаданий
0,0,000932fc-f508-4326-93c6-e2351be1cf25, # Subsystem.АдминистрированиеСервиса.Subsystem.ПоставляемыеДанные
0,0,4d475095-19b1-45f0-8864-d6f161f6da1a, # Subsystem.АдминистрированиеСервиса.Subsystem.РазмерПриложений
0,0,b0c18399-297a-4617-9d6e-3c02294ebd35, # Subsystem.АдминистрированиеСервиса.Subsystem.Сообщения
0,0,69f8b7f9-a81b-4b6a-88f7-2f2dccc11717, # Subsystem.АдминистрированиеСервиса.Subsystem.Тарификация
...
Командой info
можно вывести объекты добавленные в конфигурацию (объекты без поддержки, см.опцию --added
).
Или посмотреть Все объекты снятые с подержки. (см.опцию --filter
). Это так же можно сделать следующим скриптом.
grep ^[^0],-?0, src/Ext/ParentConfigurations.bin | perl -pe 's/,\w{8}-\w{4}-\w{4}-\w{4}-\w{12},//'
-
{6,0,3,...
- первая цифра
6
...? (всегда одинакова); - вторая цифра
0
- флаг Включить возможность изменения поддержки:1
- изменение запрещено,0
- изменение разрешено; - третья цифра
3
- количество поставок в файле;
- первая цифра
-
{6,0,3,ГУИД,0,ГУИД,"2.5.12.147","Фирма ""1С""","УправлениеПредприятием",
137634
,...- последнее число - количество объектов в каждой поставке;
-
0,0,
ГУИД-
первая цифра - вариант поддержки (см. здесь, спасибо автору)
- 0 - на замке
- 1 - на поддержке
- 2 - снято с поддержки
- 3 - нет поддержки
- 4 - не удалось определить уровень поддержки.
-
вторая цифра режим поставки
- 0 - изменения разрешены
- 1 - измерения не рекомендуются
- 2 - изменения запрещены
- -1 - включение в конфигурацию не рекомендуется
-
-
в последней строке
0,0,0,1,0,0,0,1,0,1,0,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,1}
каждые 10 цифр (с конца) принадлежат отдельной поставке. Предположительно являются флагами настроек обновления.