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
Комментарии
23.06.2011 13:45 | |
Если пути будут содержать пробелы, то этот батник работать не будет. Надо экранировать кавычками.
|
23.06.2011 14:13 | |
Yes, of course, just like any other ... Спасибо за это замечание. На всякий случай дополню запись.
|
23.06.2011 15:06 | |
К слову, для *nix есть RabbitVCS (почти полный аналог черепашки), батники там — .sh =)
|
23.06.2011 16:56 | |
Цитата:
пример: C:\"Program Files"\...
А для автоматически создаваемых путей, например, с переменными окружения или с %~dp0 лучше ставить всегда ибо неизвестно, что в пути будет в итоге. В общем, лучше добавить ссылку на мануал по батникам (например). |
|
Обновил(-а) alatar 23.06.2011 в 17:15
|
23.06.2011 17:51 | |
Ты прав. Больше того - он так вообще не найдет путь... Исправил.
Ссылка интересная.... для админов, которые и так всё это знают Кому нужны будут нюансы - спросит, я думаю. |
|
Обновил(-а) fish_r 23.06.2011 в 17:53
|
23.06.2011 18:27 | |
Ну, определенный смысл в этом есть. Если архивировать на внешний винчестер или на другую машину. Если локальный винт навернется, чекаут не спасет.
|
23.06.2011 18:46 | |
Для приятного "версиворания", по мне лучше git юзать в купе с github.com. Кстати черепашка для git тоже есть.
|
23.06.2011 19:01 | |
Цитата:
Для приятного "версиворания", по мне лучше git юзать в купе с github.com. Кстати черепашка для git тоже есть.
Цитата:
Я начал было крон джоб искать, ну, думал, это удаленно как-то
через svn, наверно... И лог записать, и расписание сделать... Такой задачи не было у меня. |
|
Обновил(-а) fish_r 23.06.2011 в 20:11
|
23.06.2011 20:24 | |
git не лучше и не хуже. git - другой.
|
23.06.2011 23:54 | |
Ну для локального использования и архивирования гит удобнее (имхо)
Фишка в том что у кажого юзера есть вся версия репозитария. т.е. глобального сервера нет. Просто в какой-то момент можно установить один из клиентов (юзеров) или как там зовётся - хабом (Но в основном всё равно юзают какой-то центральный хаб - наприемер github.) А для сохранения копии достаточно сделать обновление на бэкапной версии - весь репо, а не только последняя ревизия попадёт в чекаут. В общем есть свои плюсы, но есть и минусы. Холиваров на эту тему тыщща. Есть ещё меркуриал, vss и cvs. |
|
Обновил(-а) Котяра 23.06.2011 в 23:58
|
24.06.2011 03:19 | |
Цитата:
А чем git лучше svn?
Кстати, батники и sh-ники — это "не круто", гораздо удобнее использовать ANT. Это вам и кроссплатформенность, и интеграция с IDE, и запуск "интересных" команд, например: собрать всё кроме .svn, сжать в zip, залить через FTP или отправить почтой. |
27.06.2011 14:11 | |
Есть же программы для резервного копирования.
И резервировать лучше всего на внешний хард/ftp а лучше сразу в 10 мест |
27.06.2011 15:04 | |
Можно довести мысль до абсурда и копировать каждые 2 часа в 10 мест .
... Есть у меня один знакомый, у него небольшая компания которая предоставляет услуги security. Так вот, в теории охранного дела есть понятие "достаточная степень защищенности", которая в кратце сводится к тому, что не стоит огораживать газон пятиметровым забором с колючей проволокой под напряжением, человека желающего оставаться в рамках приличий остановит и небольшая, аккуратная табличка с предупреждением... К чему я это? Если вы сделаете архив на не системном разделе диска, то это уже хорошо. И уже защищает. У меня, например, для подобных вещей стоит в компе 2-ой диск, несъемный, но от этого не менее надежный. Это защитит от "закидонов" ОСи, скачков напряжения (хотя ИБП тоже стоит), выгорания мамки и пр., пр., пр. А сами по себе харды довольно надежны и достаточно редко выходят из строя (а чтобы 2 харда разом аллилуйю спели - такого не припомню вообще). Для верности можно раз в полгода, год и на внешний носитель... Что касается программ... @surlac уже упоминал, здесь, про ANT. Есть, конечно, и другие. Но мне, например, их функционал избыточен, пока. Поэтому данное решение вполне меня устраивает. Возможно устроит и кого то ещё |
|
Обновил(-а) fish_r 27.06.2011 в 15:14
|
27.06.2011 22:41 | |
Так это уже "форс-мажор". Съемный диск тоже можно уронить ...
|
28.06.2011 01:03 | |
Просто я про то, что не надо хранить все яйца в одной корзине Бэкап - это и есть лекарство от форс-мажоров.
Сам бэкаплю в основном только фотки - в 3 места. т.е. на CD-DVD диски, на мэйлру, и на раб компе (кроме того ещё на флэшке фоторамки, но там не всё, а только выбранное). Код лежит на гитхабе и гуглокоде (свой) + локальные копии. Рабочий - на серверах компаний. |
|
Обновил(-а) Котяра 28.06.2011 в 01:07
|
24.10.2012 21:12 | |
Ага. Завтра сдавать, а ты не работой занят, а все время на часы смотришь - может уже пора резервировать.
Во всем нужно равновесие! |
Последние записи от fish_r
- Odnoklassniki.API 2.0 photo upload V2 (09.06.2012)
- Универсальный трейсер. (21.05.2012)
- SVN. Автоматическая архивация локального репозитория. (23.06.2011)
- Поворот объекта вокруг произвольной точки. (30.04.2011)