2013-05-06 5 views
1

Я обновляю некоторые хранилища 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) 

ответ

3

Я предлагаю найти причину для блокировки и why operations are not complete д. Вы написали «Я обновляю некоторые репозитории svn daily» - это эти локальные рабочие копии или вы используете рабочие копии (например, по сети). Возможно, это уже одна из причин.

Update: Так как вы подтвердили, что вы используете репозиторий через сеть, я предлагаю вам прочитать этот chapter of the svn book (убедитесь, что вы читали версию, которая соответствует версии СВН в использовании). Как указано в комментариях к @alroc, каждый из разработчиков должен иметь собственную рабочую копию вместо одной общей сети.

+0

Я делюсь рабочими копиями по сети с тремя другими программистами. – Animesh

+2

+1 для рекомендации поиска основной причины. Если архитектура, с которой вы работаете, не поддерживает частные рабочие копии, начните там. Создание автоматизированных систем для поддержки плохой практики, вероятно, вызовет больше боли. – mounds

+3

@Animesh - Совместное использование рабочих копий по сети с другими пользователями не поддерживается (и в зависимости от того, как настроен общий доступ к файлам, ** будет ** ломаться - как вы обнаружили), а также является анти-практикой Subversion (вы потерять многие из преимуществ Subversion, включая каждого программиста, который лично отвечает за свою работу). Каждому пользователю нужна собственная независимая рабочая копия, предпочтительно на рабочей станции. – alroc

Смежные вопросы