nixp.ru v3.0

22 декабря 2024,
воскресенье,
20:17:42 MSK

17 мая 2016, 10:01

Под свободной лицензией открыт исходный код системы управления версиями BitKeeper

2
Клонирование проекта и отправка изменений в BitKeeper
Клонирование проекта и отправка изменений в BitKeeper
Иллюстрация с сайта Bitkeeper.Org

На прошлой неделе компания BitMover Inc объявила о публикации исходного кода своей системы управления версиями (VCS) BitKeeper на условиях свободной лицензии Apache 2.0.

Первые упоминания BitKeeper датируются еще концом 1990-х годов, а в 2000 состоялся первый публичный релиз системы. Несмотря на проприетарность и платность продукта, авторы предлагали его Open Source-проектам для безвозмездного использования. В частности, первое время BitKeeper применялся для работы над ядром Linux, но намерение компании-разработчика прекратить такую практику для Open Source-сообщества привело Линуса Торвальдса (Linus Torvalds) к созданию Git. И вот теперь, через 11 лет после появления Git, авторы BitKeeper решились на открытие своих исходников. Для этого была выбрана свободная лицензия Apache License 2.0.

BitKeeper поддерживает операционные системы GNU/Linux, FreeBSD, NetBSD, Solaris, Mac OS X и Windows (Vista, 7, 8 и 8.1, 10). Среди особенностей и преимуществ современного BitKeeper его авторы называют простой консольный интерфейс, версионный контроль в коллекциях репозиториев, гибридный режим для бинарных файлов (используется специальный сервис для их внешнего хранения), отслеживание файловых операций (создание, удаление, переименование), проверка контрольных сумм на целостность при каждом доступе к файлу, автоматическое слияние с высокой точностью (использует полную историю для разрешения конфликтов), аннотации к исходному коду, высокая производительность и масштабируемость до очень больших репозиториев.

Постоянная ссылка к новости: http://www.nixp.ru/news/13719.html. Дмитрий Шурупов по материалам phoronix.com, Slashdot News.

fb twitter vk
Андрей К.

Первое, что бросилось в глаза, то что авторы сделали собственный diff, однако поставляют в исходниках GNU diff версии 2.7. Параметр _BK_USE_EXTERNAL_DIFF дает возможность использовать внешнюю утилиту diff. По мнению авторов их собственный алгоритм diff позволяет обеспечить больший контроль и согласованность.

Так что теперь мы будем сравнивать не только SCM средства, но и алгоритмы создания patch-файлов.

Илья Смирнов

Как-то они припозднились.

Андрей К.

Скачал исходники. Это как в машину времени сесть:

Code Style — само совершенство!!! Просто приятно посмотреть.
Make-файлы — просто прелесть.

Неудобства для дистрибьюторов:

1. Переменную DESTDIR авторы не используют. Инсталляция произойдет в каталог /usr/local/bitkeeper, а чтобы пользователь не паниковал, будет сделана символтическая ссылка на bk в каталоге /usr/local/bin. Но есть один плюс. Дело в том, что после сборки (make all) продукт инсталлируется в каталог src/tmp и его можно самостоятельно скопировать в нужное место.
2. Продукт тянет за собой графический интерфейс написанный на TCL/Tk. Стало быть без libXft продукт не соберется. И зачем авторы так рекламировали консольный интерфейс, если в итоге требуются библиотеки X.org?
3. Autoconf авторы тоже не используют, поэтому bk.script написан исходя из незыблемых представлений о том, где должны быть расположены сторонние утилиты. Например, если не будет обнаружен nawk в каталоге /usr/bin, то будет попытка вызывать awk, но уже надеясь на переменную PATH.

Но самый главный вопрос не в этом. Без ответа остается вопрос: что побудило авторов открыть исходный код?

Андрей К.

Однако лицензия Apache-2.0 и реклама в сообществе позволит данному продукту найти массу поклонников. Все будет зависеть от возможностей данной системы. Например, наличие трех типов репозиториев: product, component, traditional дает надежду на нормальный подход к ведению CM политики.