Контроль версий проектов

PolyAnalyst может использовать Git для ведения истории конфигурации проекта.

Интеграция доступна, когда администратор указывает исполняемый файл Git в настройках сервера. Если настройка пуста, команды и элементы управления версиями не отображаются.

Команда Сохранить и закоммитить…​ доступна в главном меню Аналитического клиента и Редактора отчетов, когда открыт проект или отчет.

git commit menu

Отчет всегда входит в проект, поэтому при создании коммита из Редактора отчетов сохраняется связанный с отчетом проект.

Команда История…​ отображается только после инициализации Git-репозитория. В окне Открыть проект она находится в группе команд сравнения проектов (см. Сравнение проектов в окне открытия проекта).

Сохранение проекта и создание коммита

Выберите Сохранить и закоммитить…​, чтобы открыть диалог коммита.

git commit message

Здесь можно ввести сообщение коммита и выполнить следующие действия:

  • Просмотреть изменения…​ – после подтверждения сохраняет проект и открывает окно Изменения проекта с различиями между текущим проектом и последним коммитом. Кнопка доступна только при наличии Git-репозитория. После построения различий PolyAnalyst может автоматически сформировать сообщение с количеством добавленных, измененных и удаленных узлов и отчетов, если поле сообщения все еще пусто.

  • Коммит – сохраняет проект и создает в ветке master коммит с управляемыми файлами конфигурации проекта. Сообщение коммита не может быть пустым.

  • Закрыть – закрывает диалог без создания коммита.

При первом коммите PolyAnalyst инициализирует Git-репозиторий в папке проекта, а также создает и добавляет в коммит файл .gitignore. Помимо .gitignore, в коммит попадают только файлы конфигурации проекта, которыми управляет PolyAnalyst и которые входят в стандартные резервные копии проекта (остальные файлы проекта игнорируются).

Имя автора коммита берется из текущего соединения, а адрес электронной почты – из профиля пользователя. Для создания коммита в профиле должен быть указан адрес электронной почты.

Просмотр истории проекта

Выберите История…​, чтобы просмотреть коммиты ветки master.

git commit menu history

В таблице отображаются хеш, дата, автор, адрес электронной почты и сообщение каждого коммита. Если история коммитов не может быть отображена целиком, нажмите Показать еще, чтобы просмотреть дополнительные коммиты.

git commit history

Нажмите правой кнопкой мыши на ревизию для доступа к следующим командам:

git commit commands

Доступны следующие опции:

  • Переключиться…​ – восстанавливает конфигурацию проекта из выбранного коммита, не удаляя более поздние коммиты из истории. Если проект в данный момент открыт хотя бы в одном соединении, PolyAnalyst предупреждает о потере текущих изменений открытого проекта и запрашивает подтверждение.

  • Просмотреть изменения…​ – сравнивает выбранную ревизию с проектом, который в данный момент хранится в папке проекта, и открывает окно Изменения проекта.

  • Сбросить до этой версии…​ – безвозвратно удаляет все коммиты после выбранной ревизии и восстанавливает проект из этой ревизии. PolyAnalyst всегда предупреждает о потере последующей истории. Если проект открыт хотя бы в одном соединении, предупреждение также сообщает о потере текущих изменений.

  • Экспорт – экспортирует выбранную ревизию в файл .ps6.

Чтобы сравнить две ревизии, выделите две строки, удерживая Ctrl, затем нажмите Просмотреть изменения…​

git commit diff

В качестве альтернативы выберите эту команду в контекстном меню.

Сравнение проектов в окне открытия проекта

В окне Открыть проект команды сравнения собраны коммитов представлены в контекстном меню проекта над пунктом Изменить физическое расположение.

git commit history menu

В окне представлены следующие колонки:

  • История…​ – открывает историю Git-коммитов. Команда отображается только для проекта с инициализированным Git-репозиторием.

  • Просмотреть изменения…​ – открывает подменю доступных резервных копий. Выберите копию, чтобы сравнить ее с текущим проектом. Команда доступна пользователям, которые могут восстанавливать проект из резервной копии.

  • Добавить к сравнению – запоминает выбранный проект для последующего сравнения. При выборе опции Добавить к сравнению на другом проекте, ранее запомненный проект заменяется.

  • Сравнить с <имя проекта> – сравнивает текущий проект с проектом, добавленным к сравнению. Команда отображается только после того, как комманда Добавить к сравнению уже используется для другого проекта.

  • Сравнить (отображается при одновременном выборе двух проектов) – сравнивает два выделенных проекта.

Для сравнения проектов необходимо иметь доступ к обоим проектам. Сравнение использует конфигурацию проектов и не изменяет ни один из них.

Просмотр изменений проекта

В окне Изменения проекта отображается общее количество различий и дерево измененных элементов проекта. Раскройте группу, чтобы загрузить и просмотреть входящие в нее элементы.

git commit changes

Таблица содержит следующие колонки:

  • Элемент – элемент проекта, например узел, отчет, страница, компонент или связь;

  • Действие – элемент был добавлен (+), изменен (✎) или удален (−);

  • До и После – значения до и после изменения;

  • Кем изменено и Изменено – пользователь и время изменения, если эта информация доступна.

Для структурированных настроек нажмите на значение в колонке До или После, чтобы открыть его в удобном для чтения представлении.

Это же окно используется для сравнения следующих версий проекта:

  • последней версии, сохраненной вручную, и версии автосохранения при открытии проекта;

  • резервной копии и текущего проекта;

  • текущего проекта и последнего Git-коммита;

  • одной Git-ревизии и текущего проекта;

  • двух выбранных Git-ревизий;

  • двух проектов из окна Открыть проект.

Просмотр изменений не восстанавливает резервную копию, не переключает проект на другую ревизию и никак не изменяет проект.