tgoop.com/tarmolov_work/163
Last Update:
Еще в универе я сохранял копии файлов, чтобы не потерять драгоценные правки. В итоге в папке появлялись файлы вида "lab2.doc", "lab-final.doc" и даже "lab-final-last2.doc"!
Потом я узнал о существовании систем контроля версий, решающих задачу сохранения истории более изящно и технологично.
Когда я пришел в Яндекс, компания уже перешла с устаревшей CVS на Svn. Тогда у каждой команды в распоряжении было по 1-2 репозитория, а сделанные коммиты читали через почтовую рассылку. Ревью кода проводилось ответом на письмо с коммитом :)
Мы с моим руководителем хотели шагнуть в будущее — начать использовать Git с удобными локальными ветками. Чтобы не мигрировать всю команду, мы стали использовать git-svn.
Через какое-то время вся компания начала использовать Git. У нас даже появились свои внутренние инстансы GitHub и Bitbucket. Количество репозиториев стало расти, как и транзакционные издержки по интеграции кода.
Также стали появляться крупные репозитории с огромной по размеру историей. Скачивались такие репозитории целую вечность!
Во всех крупных компаниях рано или поздно появляется монорепозиторий. Яндекс не стал исключением, и у нас появилась Аркадия.
Можно долго спорить о плюсах и минусах монорепозитория. Это холиварная тема, и я не буду вас убеждать, что монорепозиторий — "серебряная пуля" для решения всех проблем. О бенефитах монорепозитория можно почитать на сайте monorepo.tools.
Для работы с Аркадией мы используем свою систему контроля версий под названием — Arc.
Arc — легковесная система контроля версий для монорепозитория:
- данные хранятся в облаке
- используется виртуализация рабочей копии вместо скачивания всех данных репозитория.
Такой подход позволяет хранить на диске только локальные изменения для повышения скорости работы.
Интерфейс Arc очень похож на Git. Если у разработчика был опыт работы с Git, то он без труда разберется с Arc. Доступны локальные ветки, стейджинг и быстрый просмотр истории коммитов. И это при том, что в этот репозиторий коммитит почти весь Яндекс!
Arc — yet another система контроля версий, свой велосипед. Но это очень хороший велосипед, который верой и правдой служит нам каждый день.
Несколько лет назад в одной иностранной социальной сети, похожей на VK, было два монорепозитория: весь код и фронтенд. В Аркадии лежит и код бекенда, и код фронтенда. Работать с этим кодом можно быстро и удобно. И с каждым годом становится все лучше ;)
#разработка
BY Тармолов про работу
Share with your friend now:
tgoop.com/tarmolov_work/163