Subversion
Короткі теоретичні відомості Що таке Control Version System (CVS)? Більшість сучасних проектів не пишуться поодинці, і перед розробниками встає проблема сумісного володіння кодом та іншими артефактами проекту. Навіть якщо над проектом працює лише декілька чоловік, об'єднання внесених змін в загальну версію може займати багато часу. Для вирішення даного завдання використовують системи управління версіями (від англ. Control Version System (CVS)), які дозволяють зберігати в централізованому репозиторії множину версій артефактів проекту (документів, файлів і так далі). Репозиторій — сховище яких-небудь даних. Дані в репозиторії зазвичай зберігаються у вигляді файлів або з використанням систем управління даними (СУБД), які забезпечують надійні механізми для маніпулювання даними. Таким чином, CVS призначені для виконання різної роботи, пов'язаної з обліком версій для файлів і директорій – будь-яких файлів, будь-яких об'ємів, будь-яких рівнів вкладеності. Системи контролю версій дозволяють у будь-який момент часу легко знайти і відновити ту версію файлу, яка була збережена в репозитарії. В процесі роботи над проектами, документами, або просто з якими-небудь даними, може виникнути необхідність в збереженні поточного стану файлів і директорій. Рекомендується також зберігати виконувані файли, файли довідок, моделі баз даних проекту, загалом все, що пов'язане з проектом і може потрібно при проектуванні. За допомогою репозитарію зручно працювати і над текстовими проектами: технічною документацією проекту або книгою. Навіть якщо над проектом працює одна людина, то використання систем управління версіями виправдовує витрачентий на їх вивчення і конфігурацію час. Звичайний цикл роботи над програмними модулями полягає в наступних етапах: 1. Оновлення локальної (робочою) копії проекту і вмісту репозиторія; 2. Правка ресурсів проекту; 3. Фіксація змін.
Огляд систем контролю версій Система контролю версій – комплекс програмного обспечения для забезпечення колективної роботи з початковим кодом, а так само відстежування змін в нім. Типові завдання, які дозволяє вирішити система контролю версій:
У практичній роботі часто доводиться використовувати 4-и системи контролю версій:
CVS Одна з перших систем контролю версій. На даний момент CVS є застарілою. З CVS найпростіше перейти на Subversion. Мінуси CVS в порівнянні з Subversion:
Microsoft Visual SourceSafe (VSS) Плюси Microsoft SourceSafe:
Мінуси Microsoft SourceSafe:
Subversion Subversion спеціально розроблявся для заміни CVS і є своєрідною роботою над помилками. З цієї причини синтаксис багатьох команд у CVS і Subversion майже співпадає. Як основні плюси Subversion в порівнянні з CVS можна перерахувати: 1. Не потрібно явно указувати бінарний файл, або текстовий; 2. З'явилися атрибути файлів і каталогів (через них, наприклад можна зробити файл виконуваним для Linux з Windows); 3. Відстежується робота з директоріями і переміщенням файлів; 4. Атомарні коммиты; 5. Версії всіх файлів мають єдину крізну нумерацію – ревізію. Subversion є ценрализованной системою контролю версій. Кожен користувач працює зі своєю локальною копією. Для коммита необхідно підключитися до сервера. GIT GIT був розроблений Лінусом для роботи над ядром Linux-а. На відміну від Subversion, GIT є децентрализованной системою контролю версій. Кожен працює зі своїм репозиторієм, зміни з якого періодично переносяться в основній. Тобто в GIT є локальні коммиты/обновления для робочої копії і є коммиты/обновления для репозиторія в цілому. Так само GIT дозволяє передати зроблені зміни поштою. Це дозволяє штатними засобами GIT отримувати патчи від людей, які не мають доступу до центрального репозиторія.
|