SVN-полезные команды. SVN-создание и восстановление бекапа репозитария

— извлечь файлы проекта из репозитория в текущий каталог, в котором выполняем эту команду
т.е создаем рабочую копию проекта

— загрузить обновления из репозитория в рабочую копию(синхронизировать репозитарий с рабочей копией)
Если не указан номер ревизии, то используется ревизия HEAD

– синхронизировать рабочую копию с ревизией 3 репозитария

— извлечь третью ревизию файла

— добавить файл в репозиторий

– загрузка всех изменений с рабочей копии в репозитарий с комментарием, указанным после опции -m, позволяющей прокомментировать фиксируемые изменения, не запуская внешний текстовый редактор

— загрузка файла из рабочей копии в репозиторий/фиксация изменений конкретного файла

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

— удаляем файл/директорию из рабочей копии репозитария (для сохранения файла на локальной файловой систему используем опцию —keep-local). Из репозитария файл будет удален после успешного коммита/фиксации

— просмотр статус всех файлов/каталогов в рабочей копии

– более подробный статус (отображается полная информация по каждому элементу в ревизии). Первая колонка показывает статус файла/каталога, вторая колонка показывает рабочую правку элемента. Третья и четвертая колонки показывают правку, в которой элемент последний раз изменялся и автора этих изменений.
svn status не обращается к хранилищу, а работают только локально, сравнивая метаданные каталога .svn с рабочей копией
Для обращения к хранилищу используется опция -u

— просматриваем локально измененные и изменившиеся в репозитории файлы

— просматриваем ТОЛЬКО локально измененные файлы.При этом в выводе не будут отображаться неверсионные файлы

– построчное отображение локальных изменений во всех изменившихся файлах
Команда svn diff формирует свой вывод, сравнивая ваши рабочие файлы с кэшированными «нетронутыми» копиями из .svn. Весь текст запланированных для добавления файлов показывается как добавленный, а весь текст запланированных для удаления файлов показывается как удаленный
Вывод происходит в едином формате представления различий. При этом удаленные строки предваряются знаком -, а добавленные — знаком +. Кроме этого svn diff печатает имена файлов и информацию о сдвиге информации, которая необходима программе patch, и, следовательно, вы можете получать «патчи», перенаправив вывод различий в файл svn diff > patchfile

— построчный просмотр локальных изменений в файле .htaccess

– просмотр изменений между первой и третьей ревизией хранилища для файла .htaccess

— просмотр всех изменения между второй ревизией хранилища и текущей рабочей копией

— откатывает локальные изменения файла .htaccess
Subversion возвращает файл в состояние, предшествующее модификации, путем замены файла его кэшированной «первоначальной» копией из .svn-области.
svn revert .htaccess будет иметь точно такой же эффект, как и удаление .htaccess из вашей рабочей копии, а затем выполнение svn update -r BASE .htaccess. Однако, если вы отменяете изменения для файла, svn revert будет иметь одно значительное отличие — для восстановления файла не происходит соединения с хранилищем.

—-откатывает локальные изменения всех файлов

– Показывает вам развернутую информацию: лог-сообщения, присоединенные к правкам, с указанием даты изменений и их авторов, а также изменения путей к файлам в каждой правке

— просмотр списка ревизий с комментариями файла .htaccess

-просмотр комментариев в конкретной ревизии
По умолчанию лог сообщения выводятся в обратном хронологическом порядке. Если вам нужно увидеть другой диапазон правок в заранее определенном порядке или только одну правку, укажите параметр —revision (-r)

— показывать логи для ревизии с 5 по 19 в обратном порядке

— показывать логи для ревизий с 5 по 19 в хронологическом/прямом порядке

— просмотр содержимого файла .htaccess в репозитарии на текущий момент

— просмотр содержимого файла .htaccess в конкретной(четвертой) ревизии хранилища

— просмотр содержимого репозитария без загрузки рабочей копии

– подробный вывод элементов репозитария

— просмотр списка файлов/папок, содержащиеся в конкретной ревизии

– рекурсивная очистка рабочей копии, удаление блокировок, выполнение незавершенных транзакций
Когда Subversion изменяет рабочую копию (или любую информацию в области .svn), она пытается делать это как можно более осторожно. Перед изменением рабочей копии Subversion записывает свои намерения в лог-файл. Затем для выполнения запрошенных изменений она выполняет команды из лог-файла, устанавливая блокировку той части рабочей копии, с которой работает — это делается для предотвращения работы других Subversion-клиентов с той рабочей копией, которая находится в промежуточном состоянии. После выполнения запрошеных действий Subversion удаляет лог файл.
svn cleanup: она ищет в рабочей копии и выполняет незавершенные лог-файлы, удаляя по ходу выполнения блокировки в рабочей копии
Не следует путать эти блокировки рабочей копии с обычными блокировками, которые устанавливают пользователи Subversion, использующие модель конкурентного управления версиями «блокировка-изменение-разблокировка»

Работа с игнор файлами/каталогами

– добавить в игнор файл 1.txt в текущем каталоге

– просмотр игнорируемых файлов/каталогов в текущем каталоге

– отредактировать(добавить/удалить) игнорируемые каталоги/файлы в текущем каталоге

— отредактировать(добавить/удалить) игнорируемые каталоги/файлы  в каталоге 2

— просмотр игнорируемых файлов в каталоге 2

Использование команды propset перезапиcывает список уже существующих игнорируемых файлов/директорий указанными при ее выполнении файлами/директориями

— удалить из игнорируемых все файлы/каталоги в каталоге 2

— создать ветку с названием mynewbranch из главной линии разработки;

 

Просмотр возможных команд SVN

— просмотр справки/помощи по каждой команде

 

Создание/восстановление дампа репозитария
Репозитарий myproject, расположенный по адресу /var/svn

Создание дампа SVN-репозитария

Сжимаем созданный дамп

Либо с помощью одной команды

Восстановление с бекапа репозитария

Создать дамп с 5-й по 10-ю ревизию репозитария

Создать дамп только 1-й ревизии репозитария

Скрипт для ежедневного создания полных бекапов/дампов всех существующих репозитариев (на каждый репозитарий отдельный дамп) с удалением дампов/бекапов старше 7 дней.
С помощью системы мониторинга(Zabbix,Nagios и т.д.) мониторим файл /var/log/backup-svn.log, в который записываются результат выполнения дампа репозитариев

 

Источник:
1.svn help
2.http://www.thegeekstuff.com/2011/04/svn-command-examples
3.https://www.if-not-true-then-false.com/2012/svn-subversion-backup-and-restore

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика