2013-08-26

Ещё о системе контроля версий от JetBrains

Не так давно запостил ссылку на видео, где представитель компании JetBrains рассказывал об их новой системе контроля версий, которую пилят в их потаённых исследовательских лабораториях.

И вот опять они. Набрёл (как водится, на Хабре) на подкаст Разбор полётов, где CTO JetBrains рассказывает в числе прочего и про новую VCS. Рассказ начинается примеро с 0:30.

Итак, что нового по сравнению с предыдущим инсайдом.

Ключевой момент, на мой взгляд, это управление правами доступа. Про него было сказано вскользь, однако это принципиальный момент. Когда я рассказывал про впечатления от Перфорс я упоминал об этом. До сих пор считаю, что в P4 права доступа сделаны отлично. Посмотрим, что сделают здесь, для централизованной ситемы контроля версий это чрезвычайно важно.

Более подробно рассказали про синхронизацию рабочих копий. Вкратце работа будет идти по следующему принципу:

  • Пользователь пишет код, сохраняет его.
  • Специальный сервис (демон? процесс?) трекает изменения и если изменения сделаны - синхронизирует их с центральным сервером.
  • Это же пользователь, сев за другое рабочее место, получает все измененённые файлы в том виде, что и на первом рабочем месте.
  • Если изменения нужно кому-то показать без забрасывания в ветку в виде отдельной версии - это можно легко сделать (понятно, детайле пока нет).
  • Если изменения нужны на ветке - они коммитятся, получается версия.
  • Версии можно будет также делать локально - с последующей синхронизацией с центральным сервером (пресловутый юзкейс "хочу коммитить код, летя в самолёте")

То есть с одной стороны система централизованная, а с другой - есть возможность офлайновой работы.

Ещё интересный момент - локально у пользователя будет подниматься локальный сервер контроля версий, который будет общаться и синкаться с другим таким же, но централизованным сервером. Дефолтный интерфейс для работы с серверами - через веб. Будет и интеграция с IDE через API, конечно же, да и ком. строка в наличии, однако самая полная функциональность будет доступна через браузер.

Не раз были сравнения с git, отдельно было сказано о том, что будет предусмотрена прозрачная синхронизация с его репами. Это нужно как для облегчения перехода с него на новую систему, так и полноценная работа в том случае, если разные части команды будут принципиально сидеть на разных тулах.

Было ещё раз сказано о том, что система - open source. Прозвучала здравая мысль о том, что в наше время писать с нуля закрытую VCS - это мягко говоря неправильно. Оно и понятно - если есть открытый git, кому нужен закрытый конкурент?

В целом, движение интересное и не лишённое смысла, очень хочется посмотреть, что получится.

P.S. На Google+ возникло обсуждение.

2013-08-21

JetBrains замышляет новую VCS

И снова здравствуйте.

Не смог пройти мимо очень занимательного видео.



Да, JetBrains решили сделай свою систему контроля версий, с преферансом и поэтессами. Судя по видео (преступно короткому!!!) система будет централизованной, с возможностью офлайновых коммитов. Очень напоминает Perforce - опять-таки, судя по рассказанному. Но, в отличие от, будет вроде как open source.

Многие, только увидев название видео и даже чуть-чуть его посмотрев, скривили лица и начали бормотать всякие непотребства, где из культурных слов можно было разобрать только "git". Как водится, кто-то из критиков не досмотрел и до середины, а из тех, кто досмотрел - половине не поняла о чем речь.  Однако ж я скажу чуть больше.

Во-первых, централизованные системы контроля версий не только имеют право на жизнь, но и в некоторых случах справляются с задачами лучше распределённых систем вроде git и Hg. В качестве иллюстрации: огромное число компаний используют, например, Perforce, и даже не думают с него слезать. Ярчайший пример - Гугл, которого работает крупнейшая в мире инсталяция Perforce.

Во-вторых, раз уж за дело взялись ДжетБрэйнсы, то оно действительного того стоит. А значит, дело они доведут до конца и представят продукт широкой публике.

Поэтому я лично очень хочу посмотреть, во что превратится это начинание.

Release engineering и вообще разработка в Badoo

Добрейшего!

Не далее как вчера на Хабре увидел интервью, прям напросившееся в почти заброшенный бложик.

Процесс разработки и выкатка релизов в Badoo. Автоматическое тестирование. Девелоперское окружение.

Инетервью с двумя инженерами, которые занимаются configuration management, release management и все, что с этим связано. Прям ностальгия накрыла - именно этим я и занимался немало времени, именно из этих занятий пошёл данный бложик.

В общем, интервью крайне познавательное, всё по делу, много интересного. Комментировать здесь смысла нет - в интервью всё рассказано с избытком. Ну, для тех, кто понимает, о чём речь, конечно.