С первого знакомства мне очень понравился bazaar-ng. И вот почему.
Он нацелен на usability. И это видно сразу. Вот наверняка многие пользовались TortoiseSVN. Там все делается просто, легко и удобно, правда? А вот теперь пойдем в консоль удаленного сервера. И добавим маски для игнорирования файлов (логи, темпы, кеши всякие). А теперь еще добавим в репозитарий те два десятка сорсов в разных папках, которые написали/докопировали в проект.
Все svn это не проблематично, но несколько неудобно. В bzr же все это делается легким движением руки – правим .bzrignore в корне проекта добавляя маски, потом жмем bzr add && bzr commit.
Bzr ориентирован на ветки. И у меня получается ветка == проект. Я выгружаю себе его целиком. В результате в каждой папке нету папок .svn, есть лишь одна папка .bzr в корне проекта. Мне очень редко требовалось делать чекаут определенной папки из проекта.
Проект часто требуется обновить до того, что живет в репозитории. Bzr имеет т.н. легковесные чекауты, которые не содержат подробной истории изменений. Как-раз то, что чаще всего нужно на рабочем сервере.
Также весьма порадовала только-что сложившаяся ситуация: я делал commit, и внезапно пропал линк. bzr стоял и терпеливо ждал, пока я ребутнул модем. Как только пинги появились, он все быстро завершил. Ни обрывов, ни страшных ругательств небыло.
Что касается скорости работы – она вполне приемлема. Да, есть системы и быстрее, но bzr меня вполне устраивает. Кроме того, мне абсолютно неважно, будет коммит выполняться 5 или 10 секунд, или даже 20 – я же не собираюсь безостановочно коммитить.
Навеяно впечатлениями о Git.
Полностью согласен. Сам использую bzr в работе, хотя в компании репозитарий под управлением svn, но благодаря изначальной ориентированности bazaar на распределённую модель разработки, я спокойно использую его локально и получаю массу преимуществ. А об удобстве, продуманности работы с системой из командной строки можно даже и не говорить, всё пока так точно, выше всяких похвал, наверное когда изначально разработчики предполагают основное использование через интерфейс командной строки, а не графические прикрутки, то так эргономично и получается…
Vasiliy Balakirev
July 2nd, 2008