Подтвердить что ты не робот

Как автоматически обновлять рабочую копию Subversion?

Кто-нибудь знает, как я могу автоматически запускать svn update? Если у кого-нибудь есть script или что-то в этом роде, не могли бы вы показать мне пример?

4b9b3361

Ответ 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!