The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Основы использования Subversion для..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Основы использования Subversion для..."  +/
Сообщение от auto_tips on 20-Окт-10, 23:17 
Создание SVN-репозитория:


   svnadmin create путь_к_репозиторию

например

   svnadmin create ~/svn/project1

Импорт в репозиторий дерева исходных текстов:


   svn import [директория] [URL] -m "комментарий"

например

   svn import public_html file:///home/user/svn/project1 \
       -m "первый импорт кода"

В нашем случае URL с путем к репозиторию указывает на локальную файловую систему.

Просмотр содержимого репозитория:

      svn list [URL]
      svnlook tree [repository path]

например

      svn list file:///home/user/svn/project1
      svnlook tree ~/svn/project1

Извлечение рабочей копии исходных текстов из репозитория:

   svn checkout [URL] [директория для сохранения]

например

   svn checkout file:///home/user/svn/project1 test

срез содержимого репозитория будет сохранен в директорию test, в которой можно начать редактирование файлов.

Статус изменений в рабочей копии можно посмотреть командой

   svn status

Первый символ в выводе определяет характер изменений:

   ' ' без изменений
   'A' добавлено
   'C' конфликт
   'D' удалено
   'I' игнорировано
   'M' изменено
   'R' заменено
   'X' добавлена новая директория
   '?' элемент для которого не ведется версионный контроль (новый файл)
   '!' элемент отсутствует (удалено без подтверждения в svn)

Перед коммитом изменений необходимо убедиться в отсутствии файлов с признаками "?" и "!", добавив новые файлы через команду "svn add" и удалив ненужные через "svn delete" или восстановив удаленные по ошибке через "svn update".

Типичные операции с файлами в рабочей копии.

Добавление новых файлов, ранее отсутствовавших в репозиторий (команда выполняется находясь в директории с рабочей копией):

   svn add имя_файла

Удаление ненужных файлов из репозитория :

   svn delete имя_файла

если файл по ошибке был удален вручную, то восстановить его можно командой

   svn update имя_удаленного_файла

Просмотр лога изменений:

   svn log

Просмотра лога изменений только в рамках заданной ревизии:

   svn log -r 10

Подтверждение (коммит) внесенных изменений в основной репозиторий (номер ревизии при каждом коммите автоматически увеличивается на 1).

   svn commit

Если репозиторием пользуются другие разработчики, после совершения коммита следует синхронизировать состав рабочей директории, в случае если с момента создания локальной копии в репозиторий были внесены изменения другими разработчиками.

   svn update


Для формирования  копии части репозитория без служебных данных (без .svn поддиректорий), например, для размещения в web, нужно использовать команду:

   svn export [URL репозитория или файла/директории в нем]

например

   svn export file:///home/user/svn/project1/dir/file.html
   svn export file:///home/user/svn/project1/dir

Проверка номера версии текущей рабочей директории:

   svnversion

Если в ответ будут показаны цифры, значит все изменения зафиксированы коммитом.
Если перед цифрами указана буква "M", значит в рабочей директории имеются измененные файлы, ожидающие передачи в репозиторий.
Если в выводе фигурирует несколько цифр, разделенных двоеточием, значит после вашего коммита в репозитории другим участником были внесены изменения, которые следует синхронизировать через "svn update".

Для просмотра различий между двумя ревизиями одного файла в рабочей директории необходимо выполнить:

   svn diff имя_файла

Для возврата рабочей директории к прошлой ревизии (отмены изменений) можно использовать команду:

   svn merge -r 4:1 file:///home/user/svn/project1

где, 4 - текущая ревизия, а 1 - ревизия на которую осуществляется откат рабочей директории.

Для переименования репозитория можно использовать следующую схему.
Создает новый пустой репозиторий:

   svnadmin create новое_имя

Делаем бэкап старого репозитория в файл:

   svnadmin dump ~/svn/старое_имя > old_repo.dump

Загружаем дамп с резервной копией в новый репозиторий:

   svnadmin load ~/svn/новое_имя < old_repo.dump

Удаляем старый репозиторий:

   rm -rf ~/svn/старое_имя

URL: http://scratching.psybermonkey.net/2010/10/subversion-how-to...
Обсуждается: http://www.opennet.dev/tips/info/2459.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от pythy on 20-Окт-10, 23:17 
Самый важный совет - начните использовать mercurial или git
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от anonymous (??) on 20-Окт-10, 23:41 
>mercurial или git

Докачка в них уже появилась?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от ананим on 21-Окт-10, 09:10 
это ж децентрализованные - держишь весь у себя, а дальше только "докачиваешь"
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от Andrey Mitrofanov on 21-Окт-10, 10:07 
> Докачка в них уже появилась?

Двоичные файлы в 100Гб+ и поддержу Гей^WБалм^WУиндоуз -- забыл?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от К.О. on 21-Окт-10, 13:21 
hg / git отлично работают по вендой
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

10. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от dq0s4y71 (??) on 29-Окт-10, 16:02 
Насколько я помню, git работал под вендой только в CygWin.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

3. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от Я... on 20-Окт-10, 23:50 
Самое главное, помните, что svn delete физически удаляет файлы в рабочей копии... :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от аноним on 24-Окт-10, 18:34 
А какой командой вывести файл из-под контроля версий (не удаляя конечно)? Что-то типа

svn rm-from-vcs file.txt

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от Аноним (??) on 02-Ноя-10, 11:09 
Писать в 2010 году советы по Subversion - это уже несколько позновато, не находите?
Mercurial уже более современен.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Основы использования Subversion для управления исходными тек..."  +/
Сообщение от a (??) on 22-Ноя-11, 12:30 
svn lock - нужная, но не описанная здесь опция.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру