From 6a4281c80dde3126ce414779d349aa1e0ddf67d0 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 19 Jan 2021 14:50:08 +0300 Subject: [PATCH] =?utf8?q?Gitlab=20=D0=BD=D0=B5=D1=8E=D0=B7=D0=B0=D0=B1?= =?utf8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D0=B3=D0=BE=D0=B2=D0=BD?= =?utf8?q?=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Как же я его ненавижу, искренне. На работе в одном проекте попробовали им пользоваться для отправки merge request-ов и их обсуждения. Он совершенно рандомно (или не понятно для нас как именно) присылает уведомления на почту о комментариях к коду. Короче что то присылает, а что-то нет. Ладно, чёрт с почтой -- я захожу в merge request и нигде не показывается что у текущего diff-а есть комментарии над куском какого-то файла. Более того, многие большие файлы свёрнуты. Если нажать на expand all чтобы раскрыть колоссальные портянки текста, то... опять же, рядом с комментариями нигде нет никаких слов "comment" или подобного -- текст я могу искать только по дате или имени автора комментария (или тексту комментария), которые, очевидно, я не могу знать заранее. В итоге мы в почту пишем о том что написали там комментарий. Отвечаю на комментарий и хочу отформатированный текст вставить (кусок кода). Его предложение через меню о вставке "``" не поможет для многострочного вывода. Никаких предложений об использовании
 нет --
догадался сам. Ввёл их -- жмакнул "edit comment" и вижу что ничего не
обновилось. Точнее он показалась что "edited just now", но
форматирование не обновлено. Ok, снова редактирую, жмакаю "preview",
вижу что всё ok, нажимаю снова edit и снова ничего не обновляется. Снова
повторяю, но уже добавляя просто случайный текст в конец, а не только
 тэги -- помогло.

Когда мне надо вмёржить не default ветку своего репозитория в не default
ветку другого, то интерфейс позволяет выбрать src/dst ветки и
репозитории. Вот только при выборе dst ветки целевого репозитория -- моя
src сбрасывается. А при выборе src, после выбора dst, сбрасывается dst.
Что делать, как быть? А в момент git push Gitlab выдаёт ссылку, где в
GET параметрах указана src ветка (она то уж точно известна ему). Если
использовать именно эту ссылку для создания merge request, то появится
интерфейс вбивания комментария к merge запросу, но в котором если нажать
на change branches, то появится точно такое же меню выбора src/dst
веток, но которое уже будет работать!

Вмержить только часть коммитов -- неа, нельзя. Если только не руками,
конечно же. Про сам интерфейс просмотра изменений, где нельзя увидеть
всю историю push-ей и изменений коммитов -- молчу. Точнее вроде бы в
теории может быть и можно, видя что в URL-е есть всякие start_sha
параметры есть, но мне использовать его GET параметры как CLI что ли
какой-то?

Я уж понятия не имею Github такой же или это Gitlab такой неюзабельный и
корявый (или наш instance такой), но... работать с этим нельзя. Как бы
мне не нравился Gerrit своей Java-природой, дикими тормозами (хотя...
меньшими чем Gitlab) из-за JS-а, но в нём можно делать ревью по
человечески (c6f4f67e4f265306dfc762acfc0a22580c690cc5). Я то вообще
написал плагин для Vim-а чтобы ещё сильнее упростить и сделать этот
процесс более удобным. Но таких глюков и неработоспособностей как в
Gitlab в Gerrit нету.

А с другим коллегой на работе я просто по почте переписку вёл, отправляя
"ссылки" на свои обновлённые ветки -- это ещё более удобный способ. Но
требующий чтобы собеседники умели пользоваться email-ом (а для этого
нужен и работающий почтовый клиент само собой). Вот и выходит: на одной
чаше весов требование использования email-а и удобство ревью и
обсуждения патчей, а на другой чаше... почти неюзабельная возможность
работы. Ну и где-то ближе к середине Gerrit (и похожие на него решения),
который и не совсем удобен, но и не совсем неюзабелен.
-- 
2.48.1