Должен ли вызов SVNSYNC блокироваться или нет в перехвате после фиксации? - PullRequest
0 голосов
/ 03 сентября 2010

Я настроил зеркальное отображение своего репозитория, и оно прекрасно работает, но у меня недавно возникла проблема.

Целевой репозиторий каким-то образом остался с невыпущенной блокировкой - из того, что я прочитал, это может быть вызваноиз-за прерывания операции svnsync, и я подозреваю, что это может быть связано с тем, что в своей ловушке после фиксации я выполняю svnsync в режиме блокировки, а не помещаю его в фоновый режим с помощью &.

Я делаю это так, чтобы пользователь мог быть уверен, что если фиксация завершена, то она теперь есть во всех репозиториях, но, возможно, это создает риск того, что они нажмут на отмену и остановят ловушку фиксации?не могу найти четких указаний или предложений о том, что лучше или что лучше, или даже если нажатие отмены может привести к прерыванию ловушки после фиксации и выполненной из нее синхронизации - в большинстве мест я вижу людей, использующих & для ударасинхронизация в фоновом режиме - предотвращает ли это повреждение блокировки в случае, если пользователь нажимает отмену своего коммита во время синхронизации?Как убедиться, что оба репозитория действительно синхронизированы или сообщают о проблемах?Вам нужен отдельный механизм уведомления для этого?

Обновление:

Из двух приведенных выше вариантов я решил выбрать третий;)

Я вызываю svnsync вфон, но в то же время я заставляю крючок ждать его окончания:

svnsync ... &
wait $!

Я думаю, что это прекрасно объединяет лучшее из обоих миров, но время покажет, насколько это будет эффективно - пожалуйста, дайте мне знатьчто вы думаете о проблеме в целом и какими предложениями вы можете поделиться по этому поводу.

1 Ответ

0 голосов
/ 03 сентября 2010

Хук post commit, как следует из названия, запускается после полной фиксации и создания новой ревизии в исходном репозитории.Итак, вопросы: кто должен как нажимать кнопку «прервать»?С другой стороны, почему вы делаете операцию блокировки?Я бы синхронизировал, например, каждые 15 минут и т. Д. Независимо от коммита ... Если вы действительно новичок с другой стороны, как насчет Write-Through-Proxy?Самый важный вопрос: зачем вам нужна такая синхронизация с каждым коммитом?

...