Кто-нибудь знает, как я могу автоматически запускать svn update
? Если у кого-нибудь есть script или что-то в этом роде, не могли бы вы показать мне пример?
Как автоматически обновлять рабочую копию Subversion?
Ответ 1
Я использую TortoiseSVN. На рабочем сервере у меня есть запланированная задача, которая запускает следующий командный файл.
CD C:\Program Files\TortoiseSVN\bin\
START TortoiseProc.exe /command:update /path:"C:\www\MyRepo\" /closeonend:0
Надеюсь, это поможет кому-то еще некоторое время!
Ответ 2
Я использую SVN Notifier, который сидит в системном трее и уведомляет меня каждый раз, когда репозиторий изменяется. И я могу очень порекомендовать его. Это означает, что вы только обновляете, когда что-то обновляете!
В качестве альтернативы вы можете настроить запланированное задание/задание cron для запуска svn update
в соответствующем каталоге каждый час/день/независимо.
EDIT: ОК, посмотрите эту статью Microsoft о настройке запланированной задачи.
Вам нужен командный файл svnUpdate.bat или что-то похожее на это:
cd C:/path/to/your/working/copy
svn update
Получить запланированную задачу для запуска этого так часто, как вам нравится (один раз в час кажется разумным)
Убедитесь, что у вас установлена версия командной строки svn (я использую SlikSvn) и доступен на вашем PATH (в окне команд введите svn
и убедитесь, что он говорит: "Введите svn help..." или аналогичный.
Ответ 3
@echo off
cls
echo == Initiating system instance variables...
echo. -- Setting the variables...
:: Here you need to make some changes to suit your system.
set SOURCE=C:\sauce\CURRENT
set SVN=C:\Program Files\TortoiseSVN\bin
:: Unless you want to modify the script, this is enough.
echo. %SOURCE%
echo. %SVN%
echo. ++ Done setting variables.
echo.
echo == Updating source from SVN
echo. -- Running update...
"%SVN%\TortoiseProc.exe" /command:update /path:"%SOURCE%" /closeonend:2
echo. ++ Done.
echo. -- Cleaning up...
set SOURCE=
set SVN=
echo. ++ Done.
Если вы используете TortoiseSVN, то указанная выше партия script будет соответствовать штрафу. В противном случае вы можете просто изменить его, чтобы использовать любой SVN-клиент, который вы используете в настоящее время. Просто поместите это в .bat файл и запустите его по требованию.
Ответ 4
Вы также можете загрузить и использовать Commit-Monitor из http://code.google.com/p/commitmonitor/. Он контролирует репозитории SVN для фиксации и уведомляет пользователя о том, когда это происходит. Это в GNU GPL, ver 2.
Ответ 5
Примечание. Как только я узнаю вашу операционную систему, я смогу дать вам более подробный ответ.
Общие инструкции
- Никогда не меняйте что-либо в локальном репозитории.
- Прочитайте ссылку о том, как использовать AT для планирования из командной строки в окнах.
-
Используйте команду AT для планирования следующей команды (при условии, что у вас установлена версия командной строки svn):
svn update reporsitory_directory
-
Profit!