четвер, 12 лютого 2009 р.

Основні команди SVN: робоча копія, зміни та імпорт

Із Subversion можна працювати через графічний клієнт або командний рядок. Коли підключаєшся до сервера через SSH у PuTTY чи іншому терміналі, робота відбувається саме командами. Тому я зібрав основні операції SVN в одну пам’ятку: від створення репозиторію до надсилання змін.

У початковій нотатці джерелом частини прикладів зазначено ibm.com без адреси конкретної сторінки. Пояснення команд нижче звірено з документацією Subversion.

Створення репозиторію й робочої копії

# Створити репозиторій на диску
svnadmin create /home/user/new_repository

# Отримати робочу копію у каталог new_repository
svn checkout file:///server/svn/existing_repository new_repository

У другому прикладі file:///server/... — локальний шлях, що починається з /server, а не ім'я віддаленого SSH-сервера. checkout створює робочу копію; для отримання наступних змін у наявній копії використовується update.

Щоденна робота

# Оновити робочу копію
svn update

# Запланувати додавання файла або підкаталогу
svn add <file subdirectory="">

# Переглянути локальні зміни
svn diff

# Перейменувати об'єкт
svn rename <old_file> <new_file>

# Запланувати видалення
svn delete <file subdirectory="">

# Надіслати підготовлені зміни до репозиторію
svn commit

Позначення в кутових дужках — заповнювачі з оригіналу: замініть їх реальними шляхами, не вводьте буквально. Операції над шляхами робочої копії завершуються передаванням змін через commit. Операції безпосередньо над URL можуть мати іншу поведінку.

Архівні приклади підключення

svn checkout file://localhost/mnt/d/svn_repository/corp2 --username ИмяПользователя --password Пароль
svn checkout svn+ssh://localhost/mnt/d/svn_repository/corp2 --username ИмяПользователя --password Пароль

Ці два рядки збережено для повноти старої публікації, але їхні початкові пояснення були неточними. localhost означає ту саму машину. Для svn+ssh автентифікацію виконує SSH, тому параметри пароля Subversion не слід сприймати як налаштування пароля SSH. Реальні паролі не варто вставляти в такі командні рядки.

Початковий імпорт

svn import mytree file:///usr/local/svn/newrepos/some/project -m "Initial import"

import переносить незаверсійоване дерево до репозиторію та одразу створює ревізію. Початковий каталог при цьому не стає робочою копією: для подальшої версійної роботи потрібен окремий checkout.

Джерела: основний цикл роботи, імпорт, доступ через SSH. Це документація для Subversion 1.7; для іншої версії звіряйте її власну довідку.

Немає коментарів:

Калькулятор K2: від запитання про ціну до готової комерційної пропозиції

«А скільки коштуватиме інша комплектація?» — природне запитання покупця. Якщо для відповіді менеджер щоразу відкриває таблицю, шукає коефіці...