Bazaar (раніше відома як Bazaar-NG, ім'я утиліти командного рядка bzr) — розподілена система керування версіями, розробка якої спонсорується фірмою Canonical Ltd.. Система Bazaar розроблена з метою полегшити роботу над розвитком вільних і відкритих проєктів для всіх охочих.
Команда розробників фокусується на тому, щоб зробити легку у використанні, точну в деталях і дуже гнучку систему, що підлаштовується під конкретні потреби користувачів.[3] Також велика увага приділяється питанням роботи з безліччю гілок і їхнім подальшим об'єднанням.[4][5] Bazaar може використовуватися як одним розробником для роботи над численними локальними гілками, так і групою розробників, котрі спільно працюють у мережі.
Команди Bazaar дуже схожі на команди, які використовуються в CVS або SVN. Для створення і підтримки нового проєкту без використання спеціального сервера з репозиторієм користувачеві досить запустити команду bzr init у каталозі, який потрібно помістити під контроль версій.[8]
На відміну від суто розподілених систем контролю версій, які не використовують центральний сервер, Bazaar підтримує роботу як з сервером так і без нього. Можливо навіть використовувати обидва методи одночасно для одного і того ж проєкту. Сайти Launchpad і Sourceforge пропонують вільний хостинг для проєктів, які використовують Bazaar.
Bazaar підтримує роботу напряму з деякими іншими системами контролю версій.[9] Користувачі можуть створювати нові гілки на основі репозиторіїв інших систем (таких як Subversion або Git), робити локальні зміни і фіксувати їх в Bazaar-гілці, а потім відправляти свої зміни назад в оригінальний репозиторій. Bazaar підтримує базові операції з Subversion (необхідний плагін bzr-svn)[10], а також з Git (треба плагін bzr-git)[11]. Також розпочато роботу над підтримкою Mercurial[12]. Плагін bzr-hg вміє поки небагато, проте його функцій досить, щоб відобразити історію ревізій у графічному вигляді.
Bazaar підтримує повний набір символів Unicode в іменах файлів. Система також дозволяє використовувати Unicode для складання коментарів до ревізій, в іменах авторів змін тощо.
Система Bazaar написана на мові програмування Python і має такі особливостями:
Висока гнучкість як при централізованому, так і при розподіленому використанні;
Швидке створення гілок і засоби для автоматичного злиття змін, включаючи можливість перейменування файлів і директорій;
Підтримка всіх основних операційних систем, у тому числі наявність бінарних збірок для Windows і Mac OS X;
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. [Архівовано 2013-05-09 у Wayback Machine.]
↑Pool, Martin (26 лютого 2008). Bazaar is now a GNU project. bazaar-announce (Список розсилки). Архів оригіналу за 13 квітня 2016. Процитовано 23 травня 2008.
↑Pool, Martin (21 травня 2008). Bazaar becomes a GNU project. info-gnu (Список розсилки). Архів оригіналу за 3 березня 2016. Процитовано 23 травня 2008.
↑Vernooij, Jelmer; John Meinel, Olad Conradi, Martin Pool, Wouter Van Heyst, Aaron Bentley (15 червня 2007). BzrForeignBranches. Архів оригіналу за 28 березня 2012. Процитовано 21 червня 2007. [Архівовано 2022-06-28 у Wayback Machine.]
↑Vernooij, Jelmer; Mark Lee, Neil Martinsen-Burrell, Robert Collins, Alexandre Vassalotti, Stijn Hoop (7 червня 2007). BzrForeignBranches/Subversion. Архів оригіналу за 28 березня 2012. Процитовано 21 червня 2007. [Архівовано 2007-06-26 у Wayback Machine.]
Роки, якщо є, показують дату першого стабільного релізу. Системи з іменами виділеними курсивом більше не підтримуються, або заплановано завершення підтримки.