Я обновляю некоторые хранилища svn ежедневно, используя команду svn update
как часть пакетного процесса. Он работает хорошо, но некоторые репозитории часто требуют svn cleanup
из-за некоторой блокировки или конфликта. Эти блокировки или конфликты удаляются, когда я запускаю cleanup
вручную в каждом репозитории.SVN - svn cleanup перед каждым обновлением svn
Поскольку это становится утомительным, я обновил пакетный процесс для запуска:
svn cleanup .
svn update .
Я хочу знать, если требует cleanup
каждый раз перед update
хорошая практика или нет.
Имея cleanup
до update
, на самом деле работает хорошо, но я все еще не уверен, что это эффективно.
EDIT: Я очень сожалею, я искажен, что мы разделяем рабочие копии. У всех нас есть собственные местные рабочие копии на наших собственных машинах. Один парень на месте, а двое из нас в оффшоре.
Обновления хранилища выполняются как нами, так и местным парнем. Я обновляю репозитории ежедневно, так как почти всегда есть то или иное обновление либо на месте, либо у моего коллеги.
Я думаю, что мои проблемы с блокировкой связаны с internal subversion locks и не из-за того, что некоторые пользователи блокируют сами репозитории.
Ошибка Я использовал, чтобы получить:
svn_update_2013-5-2-12-25-11.log:21:svn: E155004: 'C:\TRUNK\Decrypt' is already locked.
svn_update_2013-5-2-12-25-11.log:22:svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
Я делюсь рабочими копиями по сети с тремя другими программистами. – Animesh
+1 для рекомендации поиска основной причины. Если архитектура, с которой вы работаете, не поддерживает частные рабочие копии, начните там. Создание автоматизированных систем для поддержки плохой практики, вероятно, вызовет больше боли. – mounds
@Animesh - Совместное использование рабочих копий по сети с другими пользователями не поддерживается (и в зависимости от того, как настроен общий доступ к файлам, ** будет ** ломаться - как вы обнаружили), а также является анти-практикой Subversion (вы потерять многие из преимуществ Subversion, включая каждого программиста, который лично отвечает за свою работу). Каждому пользователю нужна собственная независимая рабочая копия, предпочтительно на рабочей станции. – alroc