Как я автоматизировал синхронизацию форков с мастер репозиторием GitLab Sync & Smart Cleanup

Моя боль:

В процессе работы мне часто приходится редактировать общие репозитории, в которых лежат конфигурациионные файлы. В таких репозиториях обычно запрещено создавать ветки. Нужно форкнуть репозиторий и уже в своем форкнутом репозитории создавать ветки. Проблемы начинались, когда родительский репозиторий наполнялся новыми коммитами, а мой форкнутый отставал. Что нужно было делать:

  1. Добавить ремоут апстрим
  2. Сделать фетч мастер ветки апстрима
  3. Сделать ребейз моей ветки на этот мастер

Либо в веб морде гитлаба зайти в форкнутый репозиторий и нажать кнопку Update fork.

Решение:

Решил автоматизировать действия, написав плагин для IntelliJ IDEA.

Плагин должен был:

  1. Автоматически находить родительский репозиторий и позволять получать из него новые коммиты.
  2. Проверять вмерджена ли ветка в родительский репозиторий и предлагать ее удалять. С учетом засквошенных коммитов. Обеспечить автоматическую проверку при переключении на репозиторий.
  3. Загружать сертификаты из хостов грайдл в выбранный cacerts

Все это реализовано с клодом за один вечер.

Прошу любить и жаловать https://plugins.jetbrains.com/plugin/33094-gitlab-sync--smart-cleanup