Обновление на каждом клиенте - PullRequest
3 голосов
/ 27 сентября 2010

У меня есть сервер SVN, работающий в Windows.

Мне нужно принудительно обновлять каждую «рабочую копию» (для каждого, кто использует репозитории svn) после коммита.Я попытался с помощью сценария post-commit.bat в каталоге ловушек на сервере SVN.Проблема в том, что обновление происходит на сервере, а не в клиентском файле.

Здесь выписка:

    @ECHO OFF

SET REPOS=%1
SET REV=%2

SET DIR=%REPOS%/hooks

SET WORKING_COPY=c:\path\to\working\copy
svn update %WORKING_COPY%

Пример: Person 1: commit

post-commit Person 2: update

Если это невозможно, я хотел бы иметь хотя бы автоматическое обновление для человека 1. Person1: коммит, затем автоматическое обновление в его рабочей копии.

Я видел решение с помощью запланированной задачи Windows, но это мое последнее ПОСЛЕДНЕЕ решение.

Вы можете помочь?Большое спасибо.

Ответы [ 3 ]

3 голосов
/ 27 сентября 2010

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

По какой причине вы этого хотите?И как вы будете делать эту шкалу?

Subversion разработан для работы с неограниченным количеством извлеченных рабочих копий.Загрузка обновлений для каждой рабочей копии в каждом коммите делает каждый коммит очень дорогостоящей операцией.

Также подумайте, что вы будете делать, если, например, некоторые клиентские компьютеры будут отключены.

3 голосов
/ 27 сентября 2010

Хосты SVN post-commit предназначены для действий на стороне сервера.Вы не сможете контролировать других пользователей, которые извлекли копию хранилища.

Вы должны просто научить всех запускать svn update в начале каждого дня.

2 голосов
/ 27 сентября 2010

Мне нужно принудительно обновлять каждую «рабочую копию» (для каждого пользователя, использующего репозитории svn) после фиксации.

Я не думаю, что обновление каждой "рабочей копии" при коммите возможно, по крайней мере, без каких-либо ужасно сложных вещей.

Если это невозможно, я бы хотел иметь хотя бы автоматическое обновление для человека 1.

Не уверен, ЧТО вы хотите сделать точно, но если вы используете Tortoise, он поддерживает Клиентские скрипты хука . Может быть, они могли бы помочь (но они помогут только на исходной рабочей копии). Но, как я уже сказал, я не уверен, что понял ваши точные потребности.

...