Развертывание с Capistrano & Subversion. Рабочая копия заблокирована - PullRequest
0 голосов
/ 05 октября 2009

Я выполняю развертывание на сервере Debian с Capistrano, который не работает из-за заблокированной рабочей копии. Я сузил это до этого:

svn checkout http://myrepo.net/mysite/tags/1.0 /var/www/mysite/releases/1234

Так что, если я бегу:

cap invoke COMMAND='svn checkout http://myrepo.net/mysite/tags/1.0 /var/www/mysite/releases/1234'

Я получаю ошибку:

svn: Working copy '/var/www/mysite/releases/1' locked

Очистка не имеет значения. Эта же команда отлично работает с сервера. Когда я перечисляю файлы в 1234 /, я вижу все файлы .svn и рабочие копии.

Может кто-нибудь указать мне правильное направление, чтобы решить эту проблему? Как узнать, действительно ли рабочая копия заблокирована? svn status ничего не показывает.

Ответы [ 3 ]

1 голос
/ 02 ноября 2009

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

Я заметил причину, глядя на эту строку (ту, что перед вводом пароля)

  * executing "svn checkout -q  -r422 svn://192.168.1.100/ /var/www/myhost/releases/20091102144836 && (echo 422 > /var/www/myhost/releases/20091102144836/REVISION)"
    servers: ["192.168.1.200", "myhost"]
Password:

в основном я приказал capistrano развернуть дважды на одном сервере (myhost = 192.168.1.200) в моем файле развертывания capistrano), и он сам блокировался

надеюсь, это кому-нибудь поможет.

1 голос
/ 05 октября 2009

Во-первых, вы должны быть осторожны с использованием извлечения, а не экспорта, в общедоступный URL-адрес. Если вы не заблокировали каталоги .svn в Apache, вы открываете потенциальную дыру в безопасности.

Кроме этого, возможно ли, что Capistrano работает от имени другого пользователя, у которого просто нет прав на обновление этого каталога?

0 голосов
/ 05 декабря 2009

Ошибка, как оказалось, вызвана проблемами с правами доступа к файлам между Mac OSX и Linux, работающими через Samba Share. Я не могу вспомнить точные детали, но разные системы по-разному обрабатывают разрешения для скрытых файлов, поэтому Samba использует обходной путь, который SVN не любит.

Я решил проблему путем перехода на GIT.

...