Bazaar
Bazaar (раніше відома як Bazaar-NG, ім'я утиліти командного рядка bzr) — розподілена система керування версіями, розробка якої спонсорується фірмою Canonical Ltd.. Система Bazaar розроблена з метою полегшити роботу над розвитком вільних і відкритих проєктів для всіх охочих.
Bazaar logo | |
Тип | розподілена система керування версіями |
---|---|
Автор(и) | Martin Pool |
Розробники | Canonical Ltd. та спільнота |
Перший випуск | 14 грудня 2007 |
Стабільний випуск | 2.6 (4 серпня 2013 ) |
Репозиторій | code.launchpad.net/bzr |
Операційна система | крос-платформовий |
Мова програмування | Python, Pyrex, C |
Стан розробки | активний |
Ліцензія | GPLv2 або новіші[1] |
Вебсайт | bazaar.canonical.com |
Bazaar у Вікісховищі |
Команда розробників фокусується на тому, щоб зробити систему легкою у використанні, але при цьому точною в деталях і дуже гнучкою, що підлаштовується під конкретні потреби користувачів.[2] Також велика увага приділяється питанням роботи з безліччю гілок і їхнім подальшим об'єднанням.[3][4] Bazaar може використовуватися як одним розробником для роботи над численними локальними гілками, так і групою розробників, котрі спільно працюють у мережі.
Система контролю версій Bazaar написана на мові програмування Python. Існують установні пакунки для основних дистрибутивів Linux, інсталятори для Mac OS X і MS Windows. Bazaar — це вільне програмне забезпечення, та від 2008 є частиною проєкту GNU.[5][6] Серед проєктів, що використовують Bazaar можна відзначити Ubuntu, GNU, MySQL, Linux Foundation, Debian, Inkscape та Squid.
Можливості
Команди Bazaar дуже схожі на команди, які використовуються в CVS або SVN. Для створення і підтримки нового проєкту без використання спеціального сервера з репозиторієм користувачеві досить запустити команду bzr init у каталозі, який потрібно помістити під контроль версій.[7]
На відміну від суто розподілених систем контролю версій, які не використовують центральний сервер, Bazaar підтримує роботу як з сервером так і без нього. Можливо навіть використовувати обидва методи одночасно для одного і того ж проєкту. Сайти Launchpad і Sourceforge пропонують вільний хостинг для проєктів, які використовують Bazaar.
Bazaar підтримує роботу напряму з деякими іншими системами контролю версій.[8] Користувачі можуть створювати нові гілки на основі репозиторіїв інших систем (таких як Subversion або Git), робити локальні зміни і фіксувати їх в Bazaar-гілці, і потім відправляти свої зміни назад в оригінальний репозиторій. Bazaar підтримує базові операції з Subversion (необхідний плагін bzr-svn)[9], а також з Git (треба плагін bzr-git)[10]. Також розпочато роботу над підтримкою Mercurial[11]. Плагін bzr-hg вміє поки небагато, проте його функцій досить, щоб відобразити історію ревізій у графічному вигляді.
Bazaar підтримує повний набір символів Unicode в іменах файлів. Система також дозволяє використовувати Unicode для складання коментарів до ревізій, в іменах авторів змін тощо.
Система Bazaar написана на мові Python і має такі особливостями:
- Висока гнучкість як при централізованому, так і при розподіленому використанні;
- Швидке створення гілок і засоби для автоматичного злиття змін, включаючи можливість перейменування файлів і директорій;
- Підтримка всіх основних операційних систем, у тому числі наявність бінарних збірок для Windows і Mac OS X;
- Компактне зберігання історії;
- Інтерфейс для взаємодії з іншими системами керування сирцевими текстами, наприклад, наявність засобів імпорту та експорту для Subversion, Git і Mercurial;
- API для швидкої розробки застосунків на мові Python. На сайті проєкту можна знайти близько 100 різних плагінів.
Публічні сховища c підтримкою Bazaar
- Launchpad
- GNU Savannah
- Sourceforge
Проєкти, що використовують Bazaar
Bazaar використовується як при роботі над багатьма відкритими проєктами, так і низкою комерційних організацій[11]. Список найвідоміших відкритих проєктів, які використовують Bazaar, включає в себе:
Виноски
- What is Bazaar?. Архів оригіналу за 14 липня 2013. Процитовано 31 серпня 2011. «Bazaar is an official GNU project, licensed under the GPLv2 or later, at your option.»
- Clatworthy, Ian. Version Control: The Future is Adaptive. Архів оригіналу за 28 березня 2012. Процитовано 31 серпня 2011.
- Bazaar user reference: команда merge. Архів оригіналу за 19 вересень 2009. Процитовано 31 серпень 2011.
- Bazaar user reference: criss-cross merge. Архів оригіналу за 19 вересень 2009. Процитовано 31 серпень 2011.
- Pool, Martin (26 лютого 2008). Bazaar is now a GNU project. bazaar-announce mailing list. Процитовано 23 травня 2008.
- Pool, Martin (21 травня 2008). Bazaar becomes a GNU project. info-gnu mailing list. Процитовано 23 травня 2008.
- bzr man page
- Vernooij, Jelmer; John Meinel, Olad Conradi, Martin Pool, Wouter Van Heyst, Aaron Bentley (15 червня 2007). BzrForeignBranches. Архів оригіналу за 28 березня 2012. Процитовано 21 червня 2007.
- Vernooij, Jelmer; Mark Lee, Neil Martinsen-Burrell, Robert Collins, Alexandre Vassalotti, Stijn Hoop (7 червня 2007). BzrForeignBranches/Subversion. Архів оригіналу за 28 березня 2012. Процитовано 21 червня 2007.
- Vernooij, Jelmer (19 вересня 2009). BzrForeignBranches/Git. Архів оригіналу за 28 березня 2012. Процитовано 31 серпня 2011.
- The Bazaar Hg Plugin in Launchpad
- Projects using Bazaar. Canonical Ltd. 28 квітня 2008. Архів оригіналу за 28 березня 2012. Процитовано 23 травня 2008.
- Mailman source code branches. 4 грудня 2007. Архів оригіналу за 28 березня 2012. Процитовано 23 травня 2008.
- Arnö, Kaj (19 червня 2008). Version Control: Thanks, BitKeeper - Welcome, Bazaar. Архів оригіналу за 28 березня 2012. Процитовано 19 червня 2008.
- GNU Gnash
- Download Gnash
- Operational Dynamics Pty Ltd. Get java-gnome!. Архів оригіналу за 28 березня 2012. Процитовано 23 травня 2008.
- Squid3VCS — Squid Web Proxy Wiki. Архів оригіналу за 22 лютого 2011. Процитовано 31 серпня 2011.
- GNU Emacs is on Bazaar now
- Code: Inkscape
- Calibre
Посилання
- Офіційний сайт (англ.)
- Хостинг для проєктів (англ.)
- http://groups.google.ru/group/ru_bzr (рос.) Дискусійна група російсько-україномовних користувачів
- Блог «Базарний день» (рос.) присвячений опису прийомів роботи, рецептам, трюкам та іншій інформації
- #bzr (англ.) IRC конференція
- Опис особливостей і принципів роботи з Bazaar (рос.)
- Коротко про Bazaar для користувачів інших DVCS (рос.)