Головна » як » Відстеження версій за допомогою Subversion (SVN) для початківців

    Відстеження версій за допомогою Subversion (SVN) для початківців

    Ви коли-небудь хотіли працювати над проектом з можливістю відстежувати ваші зміни, а також повернути їх? How-To Geek пояснює, як використовувати популярну систему відстеження версій Subversion (a.k.a SVN).

    Зображення явно неоднозначне

    Прелог

    Це керівництво буде спрямовано на те, щоб дати вам можливість використовувати клієнта subversion взагалі, і, якщо у вас є, на вашому маршрутизаторі * DD-WRT. Цей посібник жодним чином не є остаточним керівництвом для Subversion, і багато інформації можна знайти в Червоній книзі Subversion. Це керівництво призначене лише для того, щоб дати вам коротку відповідь на найбільш основні питання.

    Огляд

    Можуть бути численні причини, чому ви хотіли б мати можливість "перевірити" останній код для програмного проекту, який використовує систему версій. Це дозволить вам скористатися останніми ще не виданими змінами, допомогти у тестуванні та навіть розробці. У цьому посібнику ми розглянемо деякі основні терміни SVN, покажемо, як встановити клієнт SVN на Linux, Windows, і якщо у вас є один ваш OPKG-маршрутизатор DD-WRT. Ми також включили приклад проекту, який можна перевірити і використовувати для цього маршрутизатора.

    Що таке Subversion?

    Subversion не є єдиною наявною системою контролю версій, а альтернативи включають Git (який був створений Лінусом Торвальдсом, засновником ядра Linux), Mercurial і PerForce. З урахуванням сказаного, це один з вільних, він зрілий і широко використовується в усьому світі.

    Вихід із "Червоної книги" Subversion:

    Subversion - вільний / відкритий код система управління версіями (VCS). Тобто Subversion керує файлами і каталогами, а також змінами, внесені до них, з часом. Це дає змогу відновити старі версії даних або переглянути історію зміни даних. У зв'язку з цим багато хто вважає систему контролю версій своєрідною «машиною часу».

    Примітка: Ця книга є кінцева колекція знань про підривну діяльність, і вам рекомендується звертатися до неї на всі теми, пов'язані з Subversion.

    Що таке версії?

    Версія - це процес, в якому зберігається стан проекту в певний момент часу. Така процедура часто використовується для управління розробкою програмного забезпечення, так що робота може продовжувати вдосконалювати проект або додавати функції, у той час як може відслідковувати, що змінилося від останньої загальної точки збереження. Для доопрацювання така процедура може бути корисною для однієї людини, але тим більше для групи людей, які працюють над одним проектом. Це пояснюється тим, що, як правило, при роботі над проектом як групою існує розподіл обов'язків і різні люди змінюють різні аспекти проекту. Без механізму розробки версій було б дуже важко синхронізувати всіх з останніми робочими змінами від усіх інших.

    Термінологія

    Сховище
    Сховище - це місце, де зберігаються всі дані з різних місць. У світі subversion, з точки зору клієнта, це сервер, який зберігає базу даних проекту. Ця база даних містить всі файли, які є частиною проекту з усіма їхніми попередніми версіями.

    Перегляд

    При створенні сховища їй присвоюється нульовий номер версії (0). Цей номер збільшується на один (1) кожен раз, коли виконується фіксація. Номер ревізії є глобальним для сховища. Тобто немає індивідуального номера ревізії для окремих файлів у сховищі, навіть якщо нічого не змінилося в цьому файлі для цього конкретного фіксації.

    Робоча копія

    Робоча копія є локальною копією (або "перевіркою") конкретної версії. Зазвичай ця версія, коли виїхала, є «останньою» (також називається «головою»), але попередню можна запитати. Користувач може робити з локальною копією все, що він / вона бажає, знаючи, що, в гіршому випадку, вони могли б просто знову перевірити код. Крім того, ця копія є "приватною". Це відбувається тому, що, поки ви не оновлюєте або не зробите вашу копію, ви не побачите зміни інших людей, і вони не побачать ваші.

    Оновлення та вирішення конфліктів

    Локальна робоча копія може бути оновлена. Тобто, якщо ви "виписали" певну версію, і під час роботи, версія у сховищі була оновлена, ви можете оновити свою робочу копію до останньої. Насправді, сервер перешкоджатиме вам вносити зміни до оновлення до останньої версії, щоб відповідати репозиторію. Це робиться для того, щоб змусити вас вирішувати конфлікти локально, перш ніж навіть подумати про внесення змін до сховища.

    Злиття

    Злиття означає процес, за допомогою якого змінений код змішується в одну версію. Це також може спричинити розв'язання конфліктів.

    Здійснює

    Здійснення - це процес, в якому зміни, внесені до вашої локальної копії, будуть об'єднані назад у сховище. Це найнебезпечніша частина процесу, оскільки саме в цьому випадку зміни, які ви внесли, можуть вплинути на інших людей, які використовують одне і те ж сховище. Ось чому це зазвичай робиться після деякого розгляду, з консенсусом команди і після вирішення будь-яких конфліктів злиття.

    Робочий процес

    Найбільш базовий робочий процес з точки зору користувача, коли використовується підривна дія:

    1. Отримати існуючий код (зазвичай "голова").
    2. Внесіть зміни, додайте файли і в цілому розробляйте код.
    3. Оновлення до останньої версії, щоб переконатися, що локальна копія синхронізована з оновленнями у сховищі.
    4. Локальне злиття та усунення конфліктів, якщо це необхідно.
    5. Передайте об'єднані зміни до сховища.
    6. GoTo step 2.

    Дозволяє отримати тріщини

    Встановіть клієнта

    Щоб мати змогу використовувати subversion, потрібно встановити клієнт на вашому комп'ютері.

    На Linux

    Вам потрібно лише встановити пакет. На Ubuntu / Mint це буде зроблено за допомогою:

    sudo aptitude встановлює subversion

    На DD-WRT

    Якщо ви виконали "Як встановити додаткове програмне забезпечення на домашньому маршрутизаторі (DD-WRT)", ви можете встановити клієнт SVN, просто видавши:

    opkg update; opkg встановлює subversion-client

    У Windows

    Хоча ми глибоко користувачів Geek може почати забувати, що GUI навіть існує в рази, не у всіх є. Якщо ви хочете використовувати клієнт Windows для підключення до сховища SVN, найпопулярнішим є «Черепаха». Щоб скористатися нею, просто завантажте програму та встановіть її у звичайну «наступну, наступну, фінішну» моди.

    Створити "сховище"

    Хоча ми не будемо вдаватися до деталей щодо того, як налаштувати сервер subversion в цьому посібнику, альтернатива Google не є поганим початком для початківця. Щоб створити сховище Google:

    • Перейдіть на веб-сайт хостингу Google Code і "створіть" новий проект.
    • На наступній сторінці заповніть необхідні поля та виберіть тип "системи контролю версій", який буде підривним.

      Примітка. Можливо, ви захочете поглянути на те, в чому різниця між пропозиціями Google, перш ніж вибрати один для проекту.
    • Натисніть "Створити проект".
    "Оформити" свою робочу копію

    Як тільки ваш проект буде створено, ви зможете знайти інструкції щодо доступу до нього на вкладці «Джерело».

    Приємно, що код Google полягає в тому, що він дозволить анонімну версію для вашого проекту лише для читання. Якщо ви не хочете мати справу зі створенням власного проекту, ви можете анонімно перевірити сховище цього письменника.

    Примітка про проект hotfortech: Цей проект має бути обгорткою для функцій, які були додані до DD-WRT на How-To Geek (що я особисто використовую), а також деякі особисті налаштування. Хоча цей проект спрямований на роботу в поєднанні зі статтями, опублікованими тут на howtogeek, це все ще мій приватний проект. Тобто, він дуже підходить для мого маршрутизатора Buffalo (архітектура AR71xx), моїх особистих примх і схильний до випадкового borkage.

    На Linux / DD-WRT

    Створіть каталог для роботи, наприклад, на DD-WRT, який може бути:

    mkdir -p / jffs / svn; cd / jffs / svn

    Повна команда на Linux складається з самої команди SVN, директиви “checkout”, адреси сховища та каталогу для перевірки. Створіть порожній каталог і виконайте команду нижче:

    svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ лише для читання

    Зауважте, що в наведеному вище прикладі виписується версія лише для читання. Якщо ви вирішили створити власне сховище, вам потрібно буде використовувати посилання httpS.

    У Windows

    Оскільки черепаха є розширенням оболонки, для її використання потрібно скористатися контекстним меню файлового провідника Windows (правою кнопкою миші). Насправді, якщо ви спробуєте викликати його з меню "Пуск", ви отримаєте:

    • Створіть порожній каталог.
    • Клацніть правою кнопкою миші, щоб відкрити контекстне меню.
    • Виберіть "SVN Checkout":
    • Скопіюйте та вставте посилання для проекту (якщо у вас є) у текстове поле "URL":
    • Залежно від розміру вашого проекту це може зайняти деякий час, але коли завершиться перевірка, ви побачите щось подібне:
    • Ви можете почати розробку.

    "Оновити" та "Об'єднати" вашу робочу копію
    Якщо ви працюєте над кодом з колегами, або ви самостійно оновлюєте код з декількох місць (наприклад, ноутбук, настільний комп'ютер або навіть маршрутизатор), вам доведеться оновлювати свою робочу копію перед тим, як зробити останні зміни.

    На Linux / DD-WRT

    Команда для цього на цих системах POSIX просто:

    svn up

    У Windows

    • Клацніть правою кнопкою миші в робочому каталозі та виберіть "SVN Update":
    • Якщо ви стикаєтеся з конфліктами, спробуйте виконати вказівки на екрані і використовуйте своє судження щодо того, що робити з ними.

    “Здійснити” зміни
    Тобто, ви повинні бути конфліктними і готовими до оновлення сховища вашими змінами.
    Слід зазначити, що загальноприйнятою практикою є додавання повідомлення "журнал" до фіксації, щоб можна було легко згадати, чому були внесені зміни. Фактично, сховище Google робить це обов'язковою попередньою вимогою до здійснення.

    На Linux / DD-WRT

    Це приклад того, що я зробив для проекту hotfortech, який підняв його до версії 19:

    svn commit -m "оновлено, щоб відобразити нову зв'язок між ant-ads pack"

    У Windows

    • Клацніть правою кнопкою миші в робочому каталозі та виберіть "SVN Commit":
    • Вас вітає вікно, за допомогою якого ви зможете відзначити повідомлення журналу:
    • Натисніть кнопку ОК і, коли з'явиться запит на введення пароля, вкажіть пароль, створений Google.
    • Якщо фіксація була успішною, ви повинні побачити щось подібне:
    • Саме це, ви повинні бути в змозі зробити, як BOSS.

    Заключні зауваження
    Це має бути достатньо, щоб ви почали працювати. Рекомендується читати довідкові видання SVN, щоб отримати більш глибоке та краще розуміння всіх звичаїв SVN, їх варіантів та застережень. Крім того, ми нагадуємо вам (знову), що підрив не є єдиною системою контролю версій, і GIT (який був створений Лінусом Торвальдсом, засновником ядра Linux), здається, набирає популярність в останні роки.

    Якщо ви вирішите запустити “run-config.sh” з проекту hotfortech на вашому маршрутизаторі, ви побачите, що він зараз встановиться для вас: анти-ads-pack, сценарій ініціативи Opkg, а також такі речі, як повна GNU “ls”, “less”, “BASH” тощо.

    /jffs/svn/hotfortech-dd-wrt/running-conf.sh

    Інші функції очікують на розгляд і будуть додані в майбутньому.


    Системні адміністратори кодують свій вихід з кодування.