При переключении с одной ветки на другую 1C:EDT пересчитывает вторичные данные, которые в дальнейшем будут использованы для комфортной разработки. Вторичные данные включают в себя:
- Внутреннее представление объектов конфигурации;
- Разнообразные индексы элементов конфигурации;
- Информация об ошибках и предупреждениях из конфигурации;
- Информация о типах элементов во встроенном языке платформы «1С:Предприятие»;
- Другие данные для удобства разработки.
Для больших конфигураций размер вторичных данных составляет около 3 Гб. Это обусловлено размерами конфигураций. Например «1С:ERP» обладает такими параметрами:
- Исходный код занимает около 5 Гб;
- 19 000 файлов программных модулей суммарным объемом 1 Гб;
- Самые большие модули содержат в себе более 50 000 строк кода;
- 8 000 экранных форм;
- 17 000 объектов конфигурации;
- 1 600 ролей;
- 800 отчетов.
Расчет такого количества вторичных данных выполняется долго и это мешает быстрому переключению с ветки на ветку.
Для решения этой проблемы мы создали механизм переключения веток с использованием снимков. Главная его цель — значительно ускорить процесс переключения веток репозитория для больших конфигураций в процессе работы в 1C:EDT.
Для каждой ветки в репозитории, для которой вы пожелали, механизм сохраняет снимок — архив, содержащий все внутренние данные проекта. При переключении обратно на эту же ветку вторичные данные восстанавливаются из снимка. Это позволяет избежать лишних пересчетов вторичных данных 1C:EDT и ускорить вашу работу.
Снимки связаны с коммитами, что позволяет контролировать их актуальность. Если ветка, с которой связан снимок, изменяется (добавляется новый коммит или ветка откатывается на какой-то коммит), то снимок для нее становится неактуальным и не будет использоваться в работе.
В 1C:EDT стандартно уже включено использование снимков для веток master, main, develop, а также для типов веток из группы параметров Командная разработка, для которых создается новая информационная база. Можно самостоятельно настроить, для каких веток должны сохраняться снимки. Причем такую настройку можно выполнить как для всей рабочей области, так и для отдельных проектов.
Кроме этого можно оперативно сохранять или не сохранять снимки прямо в момент переключения веток. Для этого 1C:EDT выводит диалог записи или восстановления снимка метаданных. Если эти диалоги не нужны вам постоянно, можно отключить их, а если они позже вам понадобятся — то включить в параметрах 1C:EDT.
Снимки хранятся в рабочей области отдельно для каждого проекта. Из параметров проекта можно открыть каталог со снимками.
Настроить использование снимков
Можно самостоятельно настроить, для каких веток должны сохраняться снимки. Такую настройку можно выполнить как для всей рабочей области, так и для отдельных проектов.
-
- Настройка для рабочей области
-
В главном меню основного окна нажмите ;
- Настройка для конкретного проекта
-
В панели Навигатор нажмите в контекстном меню проекта;
Отключить диалоги записи и восстановления снимков
Чтобы отключить диалоги записи и восстановления снимков выполните следующие действия:
- После появления любого из этих диалогов установите в нем флажок Всегда соглашаться.
Или:
- Откройте настройки снимков для рабочей области;
- Снимите флажок Предупреждать перед созданием и восстановлением снимков.
Включить диалоги записи и восстановления снимков
Чтобы включить диалоги записи и восстановления снимков выполните следующие действия:
- Откройте настройки снимков для рабочей области;
- Установите флажок Предупреждать перед созданием и восстановлением снимков.
Открыть каталог снимков
- Откройте настройки снимков для проекта;
- Нажмите Открыть папку со снимками метаданных.
Создать новую ветку
Создать новую ветку можно несколькими способами:
- В панели Навигатор нажмите Групповая разработка
Создать новую ветку... в контекстном меню проекта;
- В панели Разработка:
- Нажмите Групповая разработка
Создать новую ветку... в контекстном меню проекта;
или
- Нажмите Создать новую ветку... в контекстном меню задачи.
Новая локальная ветка репозитория будет создана от текущей ветки проекта. Если вы хотите использовать другую родительскую ветку, можно выбрать ее в процессе создания ветки.
Если текущая ветка Git имеет настройки исходного репозитория, они будут использованы для создания
аналогичных настроек новой ветки.
Если в качестве информационной базы для разработки вы выбираете Создать новую информационную базу с копией данных из основной ветки, то для новой базы будут сохранены те же настройки доступа, которые имеет исходная база.
-
- Назначение полей
-
Настроить ветку
-
- Настроить ветку
-
- В панели Разработка выделите
интересующую вас ветку или задачу;
- Нажмите (Настроить ветку...) в командной панели.
- Назначение полей
-
Удалить ветку
Удалить ветку можно несколькими способами:
- В панели Навигатор нажмите Групповая разработка
Удалить ветку... в контекстном меню проекта;
- В панели Разработка:
- Нажмите Удалить ветку... в контекстном меню задачи или в ветки;
или
- Нажмите Групповая разработка
Удалить ветку... в контекстном меню проекта.
В зависимости от того, из какого контекста вызывается этот мастер, он может иметь разный вид.
Если из контекста команды известна ветка, которую следует удалить, мастер будет выглядеть просто и в качестве дополнительного действия будет предлагать удалить информационную базу, связанную с веткой.
При этом если для локальной ветки существуют настройки исходного репозитория, то мастер
предложит вам также удалить и ветку, находящуюся в удаленном репозитории.
Если из контекста команды не известна ветка, которую следует удалить, мастер покажет все ветки
репозитория проекта, которые связаны с информационными базами. После выбора
конкретной ветки станет доступно ее удаление, а также удаление информационной базы,
связанной с этой веткой, и удаление удаленной отслеживаемой ветки, если такая
существует.
Создать новую ветку для исправления ошибки в конфигурации, присланной извне
Один из сценариев ветвления заключается в том, что заказчик присылает свою информационную базу, на которой воспроизводится некоторая ошибка. Для исправления этой ошибки можно создать новую ветку Git, которая будет использовать данные, присланные заказчиком.
Предупреждение: Имейте в виду, что конфигурация, присланная заказчиком, и конфигурация, содержащаяся в текущей ветке проекта, должны быть идентичны. В противном случае при запуске или отладке 1C:EDT будет пытаться загрузить в информационную базу конфигурацию из текущей ветки проекта, что приведет к реструктуризации информационной базы, полученной от заказчика. Возможность загрузить в новую ветку Git конфигурацию из информационной базы отсутствует.
Для выполнения описанного сценария сделайте следующее:
- В панели Навигатор нажмите Групповая разработка
Создать новую ветку... в контекстном меню проекта;
- В поле Информационная база для разработки выберите вариант Создать новую информационную базу и загрузить в нее содержание из .dt-файла;
- В поле Файл выгрузки выберите .dt-файл, присланный заказчиком.
- Нажмите Готово.
1C:EDT создаст новую информационную базу, загрузит в нее указанный вами файл выгрузки информационной базы и свяжет эту новую базу с новой веткой Git.
Диалог «Записать снимок метаданных»
Этот диалог позволяет вам отказаться от создания снимка при переключении на другую ветку.
При нажатии ОК будут выполнены перечисленные операции со снимками.
При нажатии Отмена будет выполнено переключение на другую ветку без использования снимков.
Если вы хотите всегда использовать снимки, установите флажок Всегда соглашаться. Тогда при последующих переключениях с ветки на ветку этот диалог появляться не будет и операции со снимками будут выполняться всегда.
Чтобы снова включить этот диалог откройте настройки снимков для рабочей области.
Диалог «Восстановить снимок метаданных»
Этот диалог позволяет вам отказаться от создания снимка и восстановления из снимка при переключении на другую ветку.
При нажатии ОК будут выполнены перечисленные операции со снимками.
При нажатии Отмена будет выполнено переключение на другую ветку без использования снимков.
Если вы хотите всегда использовать снимки, установите флажок Всегда соглашаться. Тогда при последующих переключениях с ветки на ветку этот диалог появляться не будет и операции со снимками будут выполняться всегда.
Чтобы снова включить этот диалог, выполните следующие действия.
Группа параметров «Командная разработка»
Группа параметров Командная разработка позволяет вам настраивать стандартные параметры, которые 1C:EDT использует при создании веток Git, связанных с информационными базами.
-
- Открыть группу параметров «Командная разработка»
-
Открыть группу параметров «Командная разработка» можно разными способами:
- В главном меню нажмите ;
- При создании новой ветки нажмите Настройки... справа от поля Тип ветки.
- Назначение полей
-
- Управление типами веток: — список стандартных типов веток, которые будут предложены для выбора при создании новой ветки ( подробнее);
- Добавить... — добавляет новый тип в список стандартных веток. Имя может быть произвольным и позволяет вам отличить один тип ветки от другого. Дополнительно можно задать для типа префикс. Этот префикс будет включаться в имя каждой ветки Git, которая будет создаваться для этого типа;
- Копировать... — создает новый тип в списке стандартных типов веток, путем копирования выделенного типа;
- Изменить... — изменяет имя и префикс типа веток;
- Удалить... — удаляет тип ветки из списка.
- Перечисленные далее поля содержат значения, которые будут применяться для типа ветки, выбранного в списке Управление типами веток:
- Информационная база для разработки — один из способов связи новой ветки с информационной базой:
- Использовать ту же информационную базу, что и в основной ветке — новая ветка Git будет связана с информационной базой, которая назначена для ветки, выбранной в поле Исходный файл;
- Создать новую информационную базу с копией данных из основной ветки — будет создана новая информационная база стандартного типа, в нее будет скопирована информационная база, связанная с веткой, выбранной в поле Исходный файл. Кроме этого для новой базы будут сохранены те же настройки доступа, которые имеет исходная база. Новая информационная база будет связана с новой веткой Git;
- Создать новую информационную базу и загрузить в нее содержание из .dt-файла — будет создана новая информационная база стандартного типа, в нее будет загружена информационная база из файла, указанного в поле Файл выгрузки. Новая информационная база будет связана с новой веткой Git.
Конфигурация текущей ветки проекта и конфигурация, содержащаяся в .dt-файле должны быть идентичными. В противном случае при запуске или отладке 1C:EDT будет пытаться загрузить в информационную базу конфигурацию из текущей ветки проекта, что приведет к реструктуризации информационной базы, полученной от заказчика;
- Создать новую информационную базу и загрузить в нее содержание из файла базы данных (1Cv8.1CD) — будет создана новая информационная база стандартного типа, в нее будет загружена информационная база из файла, указанного в поле Файл базы данных. Новая информационная база будет связана с новой веткой Git;
- Выбрать информационную базу из списка Новая ветка Git будет связана
с выбранной информационной базой. Конфигурация текущей ветки проекта и
конфигурация, содержащаяся в выбранной базе, должны быть идентичными. В
противном случае при запуске или отладке 1C:EDT будет пытаться загрузить в
базу конфигурацию из текущей ветки проекта, что приведет к реструктуризации
выбранной базы. Возможность загрузить в новую ветку Git конфигурацию из
информационной базы отсутствует;
- Не использовать информационную базу Будет создана новая ветка Git, не связанная ни с одной информационной базой;
- Создать новую пустую информационную базу Будет создана новая информационная база стандартного типа без конфигурации. Новая информационная база будет связана с новой веткой Git;
Если в конкретном случае стандартный тип информационной базы (файловая/клиент-серверная) вас не устраивает, можно изменить его на следующих шагах мастера. Там же можно изменить и некоторые параметры (группа, в которую добавляется база, путь к файловой базе или настройки кластера серверов).
Если вы хотите вообще установить другой стандартный тип базы и другие стандартные параметры, которые должны всегда использоваться при создании новых веток, нажмите
Настройки... справа от поля
Тип ветки (
подробнее).
- Укажите тип размещения информационной базы — тип новой информационной базы (файловая или клиент-серверная), которая будет стандартно создаваться (если используется один из сценариев, когда новая ветка Git связывается с новой информационной базой);
- Настройки создания информационных баз: настройки, которые будут использоваться в сценариях создания новой информационной базы.
- Группа — название группы в панели Информационные базы, в которую будет помещена новая информационная база;
-
Язык (Страна) — региональные установки информационной базы. Выбираются из предложенного списка и определяют набор национальных настроек (например, формат чисел, дат, порядок сортировки), которые будут использованы при работе с информационной базой;
- Настройки создания файловой информационной базы
- Родительский каталог — папка, в которой будут создаваться каталоги информационных баз, связанных с ветками этого типа. Нажмите Каталог..., чтобы интерактивно выбрать существующую папку или создать новую;
- Настройки кластера серверов 1С:Предприятия
-
Кластер серверов 1С:Предприятия — адрес кластера. Состоит из имени центрального сервера и номера сетевого порта, через который работает менеджер кластера (например, Test_Server:1541). Если менеджер кластера использует сетевой порт, назначаемый по умолчанию (1541), то достаточно указать только имя сервера;
-
Защищенное соединение — уровень защищенности соединения клиента с сервером «1С:Предприятия». Может быть выбрано одно из следующих значений: Выключено (незащищенное соединение), Установка соединения (защищенное соединение только в процессе выполнения аутентификации), Постоянно (защищенное соединение в течение всего сеанса) ( подробнее);
-
Тип СУБД — один из типов СУБД, поддерживаемых платформой «1С:Предприятие»: Microsoft SQL Server, PostrgeSQL, IBM DB2, Oracle Database;
-
Сервер баз данных — Имя сервера (экземпляра сервера) СУБД. Каждая СУБД имеет собственные особенности указания имени сервера;
- Microsoft SQL Server: имя сервера. Может задаваться именем компьютера (если на компьютере установлен один экземпляр сервера) или именем конкретного экземпляра (если установлено несколько экземпляров). Например, Server/instance;
- PostrgeSQL: имя экземпляра сервера;
- IBM DB2: имя экземпляра сервера. Если на
компьютере имеются экземпляры сервера баз данных, отличные от установленного по
умолчанию, то необходимо указать также имя установленного экземпляра IBM DB2,
заданное при его установке, через слэш. Например, computer/db2name;
- Oracle Database: имя экземпляра сервера. При создании информационной базы в качестве имени сервера баз данных указывается TNS-name. Это означает, что при создании информационной базы необходимо в качестве имени сервера баз данных написать строку типа //имя_сервера_БД/имя_сервиса (возможны и другие вариации написания TNS-name);
Группа параметров проекта «Снимки метаданных»
Группа параметров Снимки метаданных позволяет вам выбрать ветки конкретного проекта, для которых 1C:EDT будет записывать снимки вторичных данных и восстанавливать эти данные из снимков при переключении обратно на эти ветки.
Чтобы настройка веток для этого проекта стала доступна, снимите флажок Использовать настройки рабочей области.
-
- Открыть параметры проекта «Снимки метаданных»
-
В панели Навигатор нажмите в контекстном меню проекта.
- Назначение полей
-
- Использовать снимки метаданных — выключает или включает использование снимков для данного проекта. Если вы снимите этот флажок, то сохраненные снимки этого проекта будут удалены;
- Использовать настройки рабочей области — снимите этот флажок, чтобы настройка веток для этого проекта стала доступна;
- Показать настройки рабочей области... — открывает группу параметров Снимки метаданных;
- Добавить, Удалить и Изменить — изменяют список веток;
- Открыть папку со снимками метаданных — открывает каталог, в котором хранятся снимки.
Группа параметров рабочей области «Снимки метаданных»
Группа параметров Снимки метаданных позволяет вам выбрать ветки, для которых 1C:EDT будет записывать снимки вторичных данных и восстанавливать эти данные из снимков при переключении обратно на эти ветки.
-
- Открыть параметры рабочей области «Снимки метаданных»
-
Нажмите в главном меню.
- Назначение полей
-
- Предупреждать перед созданием и восстановлением снимков — отвечает за то, будут ли при переключении веток появляться диалоги записи и восстановления снимков;
- Добавить, Удалить и Изменить — изменяют список веток.