Subversion
Матеріал з Вікіпедії — вільної енциклопедії.
| Subversion | |
|---|---|
| Тип: | управління версіями |
| Розробник: | CollabNet |
| Перший випуск: | 20 жовтня 2000 |
| Стабільний випуск: | 1.5.6 / 27 лютого 2009 |
| Мова програмування: | C |
| ОС: | крос-платформовий |
| Ліцензія: | Apache License |
| Сайт: | subversion.tigris.org |
Subversion [1] — вільна система управління версіями.
Subversion розроблена спеціально для заміни CVS, найпоширенішої відкритої системи управління версіями. Вона має всі основні функції CVS (хоча деякі з них виконує іншими способами) і вільна від ряду її недоліків. Subversion часто називають «svn», по назві клієнтської програми, що входить в її дистрибутив.
Зміст |
[ред.] Загальні відомості
Subversion — централізована система. Дані зберігаються в єдиному сховищі. При збереженні нових версій використовується дельта-компресія, тобто система знаходить відмінності нової версії від попередньої і записує тільки їх, уникаючи непотрібного дублювання даних. Сховище може розташовуватися на локальному диску або на мережевому сервері. До локального сховища клієнт Subversion звертається безпосередньо. Для доступу до віддаленого сервера може використовуватися власний мережевий протокол або стандартний протокол WebDAV, підтримуваний за допомогою спеціального модуля для веб-сервера Apache.
Клієнти копіюють файли з сховища, створюючи локальні робочі копії, потім модифікують їх і публікують зміни в сховищі. Декілька клієнтів можуть одночасно звертатися до сховища. При використанні доступу за допомогою WebDAV також підтримується прозоре управління версіями — якщо будь-який клієнт WebDAV відкриває для запису і потім зберігає файл, що зберігається на мережевому ресурсі, то автоматично створюється нова версія.
[ред.] Відмінності від CVS
- Subversion відстежує версії не тільки файлів, але і каталогів.
- Якщо зміни зроблені в декількох файлах і каталогах, вони публікуються як одна транзакція. Це означає, що або в сховищі потрапляють всі зміни, або стан сховища не змінюється.
- При будь-яких оновленнях версій між клієнтом і сервером передаються тільки відмінності між файлами.
- Subversion підтримує копіювання, переміщення і перейменування файлів із збереженням історії змін.
- З кожним файлом і каталогом може бути зв'язаний довільний набір властивостей, що складаються з назви і значення. Властивості теж знаходяться під управлінням версіями.
- Subversion однаково ефективно працює як з текстовими, так і з двійковими файлами.
- Починаючи з версії 1.2, підтримується необов'язкове блокування файлів.
- У Subversion немає міток (tag) і гілок (branch), як таких. Замість них використовується ієрархія каталогів — для кожної гілки або мітки створюється окремий каталог. Створення таких каталогів — швидка і дешева операція, тому що дані не дублюються, натомість публікується нова версія, що відрізняється від попередньої лише розташуванням файлів.
[ред.] Використання
Subversion поступово стає поширенішим продуктом контролю за версіями, витісняючи CVS. Багато співтовариств розробників відкритого програмного забезпечення перейшли на використання Subversion. У їх числі такі відомі проекти як Apache Software Foundation, KDE, GNOME, GCC, MediaWiki, Python, Samba, Mono і багато інших.
Згідно звіту Forrester Research за 2007, Subversion став одноосібним лідером в категорії Standalone Software Configuration Management (SCM) і має потужні позиції в категорії Software Configuration and Change Management (SCCM) [2].
[ред.] Виноски
- ↑ англ. Sub- (під-) + англ. version (версія). Водночас англ. subversion — скидання, усунення.
- ↑ The Forrester Wave: Software Change and Configuration Management, Q2 2007. Forrester Research.
[ред.] Посилання
- subversion.tigris.org Офіційний сайт
[ред.] Документація
- Книга «Управління версіями в Subversion», Бен Коллінз-Сассман, Брайан У. Фитцпатрик, К. Майкл Пілато (рос.)
- Использование Subversion для командной разработки(рос.)
[ред.] Клієнти і плагіни
- Клієнти і плагіни для Subversion
- RapidSVN — крос-платформовий клієнт, написаний на C++ з використанням wxWidgets
- eSvn — крос-платформовий клієнт, заснований на Qt
- TortoiseSVN — розширення оболонки Windows, що являє собою графічного клієнта, який працює незалежно від інтегрированого середовища.
- svnX — клієнт для Mac OS X
- SCPlugin — клієнт для Mac OS X
- AnkhSVN — плагін для Visual Studio .NET.
- PushOK SVN SCC proxy — ще один плагін для Visual Studio .NET, комерційний продукт.
- Subclipse — плагін для середовища розробки Eclipse
- Subversive — ще один плагін для середовища розробки Eclipse
- VisualSVN — комерційний продукт, що реалізує просту и надійну інтеграцію з Visual Studio .NET 2003 и 2005. Використовує TortoiseSVN в інтерфейсі користувача.
- DelphiSVN — плагін для середовища розробки Borland Delphi
- KDESvn — клієнт для KDE
- qSVN — крос-платформовий клієнт, написаний на C++ з використанням Qt
- SmartSVN — крос-платформовий клієнт, написаний на Java
[ред.] Публічні сховища SVN
- http://sourceforge.net — SourceForge.net, найпопулярніший хостинг проектів з відкритим джерельним кодом
- http://opensvn.csie.org
- http://svn.berlios.de/wsvn — BerliOS
- Google Code

