Previous Entry Share Next Entry
photo25

Очередной выпуск нашей передачи

..."Гит - говно, с иллюстрациями"

Оригинал взят у slonopotamus в О рукожопии
В дополнение к предыдущему посту.

Симптом: при юзании git-lfs из виндового GUI-клиента, на каждый вызов git-lfs кратковременно показывается черное окно. Открываешь диалог коммита, а тебе 10-20 раз подряд в рандомных местах экрана показываются и исчезают черные окна. Мечта эпилептика, одним словом.

Раскопки показали, что:

  1. GUI-клиент не виноват, он вызывает git хорошо
  2. git не виноват, он вызывает git-lfs хорошо


"Ага" сказали мужики и полезли внутрь git-lfs. Так вот, эти рукожопые кретины видите ли хотят сформировать заголовок User-Agent, с которым полезут на git-lfs сервер и хотят в этот User-Agent включить версию git'а. Как же узнать версию git'а из Go? Очень просто - запустив "git --version". На каждый сука файл, т.к. git-lfs сейчас stateless. На каждый сраный, долбанный файл, 5k раз в нашем тестовом репозитории. И им даже не важно, полезут они куда-то с этим User-Agent'ом или у них просто --help спросили. Первым делом надо немножко порожать процессов, а потом уже можно и полезной работой заняться, ага. В результате продолб 15 минут на никому нахрен ненужную вебдванольную херню.

Зафиксили, конечно, но осадочек остался.


  • 1
slonopotamus June 12th, 2015
Это не гит, а Go-хипстеры, которые делают git-lfs.

wizzard0 June 14th, 2015
Это да. Но ввиду завала по работе более обоснованные темы для срачиков мне соображать влом :(

lyuden June 12th, 2015
А при чем здесь гит собственно ? Какие то странные люди пишут, нечто на go под Windows, общающееся с gitом через консоль ( что уже вызывает некоторые вопросы ). Git здесь ни при чем.

sorhed June 12th, 2015
Так этому lfs сколько исполнилось, пару месяцев? Ничо, починят.

Но вообще гитом все пользуются по двум причинам: 1) он быстрый и внутри выстраивает правильный граф, 2) Линус Торвальдс это у-ууууу, плохого не посоветует!

На самом деле гит говно.

slonopotamus June 12th, 2015
Про "починят": вы кагбэ различайте непредумышленный продолб перфоманса (неоптимальный алгоритм, который внезапно при некоторых сценариях оказывается hot spot'ом) от умышленного выполнения тяжелых операций (превышающих по времени собственно полезную нагрузку) ради никому не нужных косметических глупостей. Ну реально, 0.1-0.2s ради того, чтобы впихнуть в строчку http'шного User-Agent'а информации, которая даже не относится непосредственно к клиентскому приложению в условиях, когда это приложение совершит ровно один http-запрос (а может и вообще ноль), после чего завершится?

ex0_planet June 12th, 2015
Ну пральна, винда почему-то тратит 0.2с на запуск процесса, а виноват в этом почему-то гит.

jakobz June 12th, 2015
Я тут год как на гит перелез. Так по ощущениям - SVN, Tortoise, и "Trunk me tender" - заметно лучше для небольших проектов. Я реально не понимаю, например, зачем в 5 человек нужны бранчи на каждый чих. Бранчи создают неиллюзорные проблемы, а решают - скорее иллюзорные. Старпёр, чо.

amarao_san June 12th, 2015
А зачем в небольших проектах разводить бранчи?

wizzard0 June 12th, 2015
Просто не надо разводить их в гите, где с ними работать неудобно.

Вот меркуриал - другое дело.

lyuden June 12th, 2015
Никогда не работал с SVN, не очень понимаю какие неиллюзорные проблемы создают бранчи. Помню когда собиралась команда и мы работали втроем, и мы решили, что на свежем проекте нам нужно только две ветки dev и master (которая была пустой месяца два после старта), то проблем было просто дофига, ( в основном правда потому что люди были неопытные и конфликты при мердже разрешали просто - выбирая один из вариантов). Когда я волевым решением ввел фича бранчи, производительность сильно возросла, поскольку мерджил в основном только я.




max630 June 12th, 2015
косяк в git-lfs, а говно гит. нуачо, подстрока находится же

anonim_legion June 13th, 2015
Потому что гит создает вот эту субкультуру.

max630 June 13th, 2015
субкультуру инстинктивной реакции на ключевые слова? нет, вряд ли

ex0_planet June 13th, 2015
Тогда уж весь юникс её создает.

Альтернатива-то в чем? Монолит, который внутри себя что-то варит-варит, а потом у него КЭШИК сглючивает. И все, концов не найти.

wizzard0 June 14th, 2015
Ну нет, гит не создает, но является хорошим примером.

Сам Go, кстати, тоже. При этом меня больше всего развлекает тот факт, что хорошо допиленные линукс-экосистемы существуют (NixOS, Unslung, webOS), но это не мешает остальной базарной модели выдавать удивительно некачественные концепты за продукты.

  • 1
?

Log in

No account? Create an account