SVN. Автоматическая архивация локального репозитория.
К сожалению, совсем недавно стал пользоваться системой SVN. Клиент, естественно (для Windows), TortoiseSVN. Тащусь! Нет слов... Как мне раньше этого не хватало!

Однако, рекомендуется, периодически снимать архивную копию с репозитория. Для этого надо набивать "что то там" в командной строке. Это не очень удобно. А не удобно значит - лень. А лень - значит это будет делаться не систематически и риск потерять репозиторий "в один прекрасный день" вполне вероятен. Покумекав набросал батник (на случай, если кто не в курсе: файл с расширением .bat, например archiveStart.bat) , который можно активировать кликом, а можно вставить в "Планировщик", или подобную программу. Привожу здесь его код для тех лентяев
которые его ещё не написали :Код:
@ECHO OFF
goto NX
---------------------------
bat-файл предназначен для автоматизированного
создания архива SVN-репозитория.
В результате запуска создается
папка с именем текущей даты,
в папке создается архив
текущего репозитория.
Внимание! Если пути к файлам включают кириллические
символы bat-файл необходимо сохранять в кодировке
DOS-866. Блокнот эту функцию не поддерживает,
сохраняет в win CP1251.
Можно использовать FAR, утилиты NortonCommander и т.д.
Пути содержащие пробелы (напр. C:\Program Files\...)
необходимо экранировать кавычками,
пример:"C:\Program Files\..."
---------------------------
:NX
ECHO ***********************************************
ECHO * Creating an archive of this repository. *
ECHO * Please wait ... *
ECHO * ------------------------------------------ *
ECHO * Добавление текущего репозитория в архив. *
ECHO * Пожалуйста ждите... *
ECHO ***********************************************
:: Создаем перем. с текущей датой.
SET datetemp=%DATE%
::Создаем папку с именем текущей даты
MD H:\ArchiveCopySVN\%datetemp%_archiv
goto next
------------------------------------------
ПАРАМЕТРЫ КОМАНДЫ АРХИВИРОВАНИЯ
svnadmin - вызов утилиты программной строки,
утилита устанавливается автоматически.
Последнюю версию можно загрузить с
http://Subversion.apache.org/getting.html,
hotcopy - команда копирования,
1 путь - путь к репозиторию,
2 путь - путь к созданной папке для помещения
архивируемых данных
--clean-logs - необязательная команда удаления
излишних файлов экономит некоторое место.
------------------------------------------
:next
:: Добавляем команды SVN
svnadmin hotcopy D:\Training\ActionScriptCS3\SVN\Repository1 H:\ArchiveCopySVN\%datetemp%_archiv --clean-logs
@ECHO ON
:: end off
EXIT
Пути содержащие пробелы (напр. C:\Program Files\...) необходимо экранировать кавычками , пример: "C:\Program Files\..."
Приятного версирования!
Всего комментариев 19
Комментарии
|
|
|
Если пути будут содержать пробелы, то этот батник работать не будет. Надо экранировать кавычками.
|
|
|
|
Yes, of course, just like any other ...
Спасибо за это замечание. На всякий случай дополню запись. |
|
|
|
К слову, для *nix есть RabbitVCS (почти полный аналог черепашки), батники там — .sh =)
|
|
|
|
Цитата:
пример: C:\"Program Files"\...
А для автоматически создаваемых путей, например, с переменными окружения или с %~dp0 лучше ставить всегда ибо неизвестно, что в пути будет в итоге. В общем, лучше добавить ссылку на мануал по батникам (например). ![]() |
|
|
Обновил(-а) alatar 23.06.2011 в 17:15
|
|
|
|
Ты прав. Больше того - он так вообще не найдет путь... Исправил.
Ссылка интересная.... для админов, которые и так всё это знают ![]() Кому нужны будут нюансы - спросит, я думаю. |
|
|
Обновил(-а) fish_r 23.06.2011 в 17:53
|
|
|
|
Ну, определенный смысл в этом есть. Если архивировать на внешний винчестер или на другую машину. Если локальный винт навернется, чекаут не спасет.
|
|
|
|
Для приятного "версиворания", по мне лучше git юзать в купе с github.com. Кстати черепашка для git тоже есть.
|
|
|
|
Цитата:
Для приятного "версиворания", по мне лучше git юзать в купе с github.com. Кстати черепашка для git тоже есть.
Цитата:
Я начал было крон джоб искать, ну, думал, это удаленно как-то
через svn, наверно... И лог записать, и расписание сделать... Такой задачи не было у меня. |
|
|
Обновил(-а) fish_r 23.06.2011 в 20:11
|
|
|
|
git не лучше и не хуже. git - другой.
|
|
|
|
Ну для локального использования и архивирования гит удобнее (имхо)
Фишка в том что у кажого юзера есть вся версия репозитария. т.е. глобального сервера нет. Просто в какой-то момент можно установить один из клиентов (юзеров) или как там зовётся - хабом (Но в основном всё равно юзают какой-то центральный хаб - наприемер github.) А для сохранения копии достаточно сделать обновление на бэкапной версии - весь репо, а не только последняя ревизия попадёт в чекаут. В общем есть свои плюсы, но есть и минусы. Холиваров на эту тему тыщща. Есть ещё меркуриал, vss и cvs. |
|
|
Обновил(-а) Котяра 23.06.2011 в 23:58
|
|
|
|
Цитата:
А чем git лучше svn?
Кстати, батники и sh-ники — это "не круто", гораздо удобнее использовать ANT. Это вам и кроссплатформенность, и интеграция с IDE, и запуск "интересных" команд, например: собрать всё кроме .svn, сжать в zip, залить через FTP или отправить почтой. |
|
|
|
Есть же программы для резервного копирования.
И резервировать лучше всего на внешний хард/ftp а лучше сразу в 10 мест ![]() |
|
|
|
Можно довести мысль до абсурда и копировать каждые 2 часа в 10 мест
.... Есть у меня один знакомый, у него небольшая компания которая предоставляет услуги security. Так вот, в теории охранного дела есть понятие "достаточная степень защищенности", которая в кратце сводится к тому, что не стоит огораживать газон пятиметровым забором с колючей проволокой под напряжением, человека желающего оставаться в рамках приличий остановит и небольшая, аккуратная табличка с предупреждением... К чему я это? Если вы сделаете архив на не системном разделе диска, то это уже хорошо. И уже защищает. У меня, например, для подобных вещей стоит в компе 2-ой диск, несъемный, но от этого не менее надежный. Это защитит от "закидонов" ОСи, скачков напряжения (хотя ИБП тоже стоит), выгорания мамки и пр., пр., пр. А сами по себе харды довольно надежны и достаточно редко выходят из строя (а чтобы 2 харда разом аллилуйю спели - такого не припомню вообще). Для верности можно раз в полгода, год и на внешний носитель... Что касается программ... @surlac уже упоминал, здесь, про ANT. Есть, конечно, и другие. Но мне, например, их функционал избыточен, пока. Поэтому данное решение вполне меня устраивает. Возможно устроит и кого то ещё ![]() |
|
|
Обновил(-а) fish_r 27.06.2011 в 15:14
|
|
|
Так это уже "форс-мажор". Съемный диск тоже можно уронить ... |
|
|
|
Просто я про то, что не надо хранить все яйца в одной корзине
Бэкап - это и есть лекарство от форс-мажоров.Сам бэкаплю в основном только фотки - в 3 места. т.е. на CD-DVD диски, на мэйлру, и на раб компе (кроме того ещё на флэшке фоторамки, но там не всё, а только выбранное). Код лежит на гитхабе и гуглокоде (свой) + локальные копии. Рабочий - на серверах компаний. |
|
|
Обновил(-а) Котяра 28.06.2011 в 01:07
|
|
|
|
Ага. Завтра сдавать, а ты не работой занят, а все время на часы смотришь - может уже пора резервировать.
![]() Во всем нужно равновесие! |
Последние записи от fish_r
- Odnoklassniki.API 2.0 photo upload V2 (09.06.2012)
- Универсальный трейсер. (21.05.2012)
- SVN. Автоматическая архивация локального репозитория. (23.06.2011)
- Поворот объекта вокруг произвольной точки. (30.04.2011)












Так это уже "форс-мажор". Съемный диск тоже можно уронить 