metaclass: (Default)
[personal profile] metaclass
Недавно [livejournal.com profile] vit_r писал про то, что гит не пригоден для промышленной разработки, т.к. позволяет вести "двойную бухгалтерию".
Насколько я понял, речь шла про то, что код на рабочем месте разработчика, код в мастере и код в релизе могут быть совершенно разными, причем инструментом это прямо рекомендуется. Ну, по крайней мере, именно это меня привлекает в гите - мне постоянно нужны экспериментальные ветки в стиле "сохранился, заглянул за угол, увидел что там босс-монстр, загрузился и пошел другим путем".

Внезапно, в процессе изучения ZeroMQ я наткнулся на прямую иллюстрацию такой двойной бухгалтерии.
Вот например, стабильная версия 4.0.5, исходники под винду: http://download.zeromq.org/zeromq-4.0.5.zip
Так вот, последние 230 коммитов в changelog этой версии напрочь отсутствуют в https://github.com/zeromq/libzmq
Более того, в этой репе существует сугубо две ветки и ни одного тэга.

Ну, то что мастер не собирается в 2010 студии из-за зависимости от крипто-либы sodium, а rc4.1.0 не собирается из-за отсутствующих файлов msbuild, это тащемта уже мелочи. Но по крайней мере, rc4.1.0 есть в гите.

Date: 2014-12-05 10:04 am (UTC)
From: [identity profile] besm6.livejournal.com
Инструментом там рекомендуется, чтобы код в релизе и код в репозитории того, кто этот релиз выпускает, был одинаковым. У разработчика он может быть каким угодно, пока оный разработчик не надел шляпу релиз-менеджера. А существование (центрального) мастера git вообще не поощряет.

Что же до описанной двойной бухгалтерии, то VCS тут вообще ни при чем. Я неоднократно наблюдал подобное с абсолютно любыми VCS и даже вообще без VCS. И считаю, что это, конечно, бардак, но куда хуже, если в мастер коммитят код в состоянии "у меня все работает", от чего ВНЕЗАПНО все ломается у всех остальных разработчиков проекта.

А еще интереснее бывает, если из такого мастера в этот момент выпускают релиз... Ибо дисциплина "релиз выпускаем из тега, а тег ставим на релизную ветку после того, как в ней прошли все тесты, включая ручные" совершенно перпендикулярна модели работы VCS и наличию VCS как таковой.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 30th, 2025 02:09 am
Powered by Dreamwidth Studios