Назад | Перейти на главную страницу

Ошибка проверки SVN (sqlite [S5]: база данных заблокирована)

Я периодически сталкиваюсь с этой проблемой, когда пытаюсь зарегистрировать файлы

svn ci -m "commit message" file
Warning: post commit FS processing had error:
sqlite[S5]: database is locked 

Some more info
Server side OS --> Centos6.5 and svn version 1.8.5 
Client Side OS --> Centos 5.11 and svn version 1.7.7

Я уже проверял несколько форумов, и это предложение, но оно не решает мою проблему

1: Check server load(Server is fairly idle when I faced this issue..checked load average,IO and memory utilization)
2: There is a longer commit is in progress at that time
3: Both server and client are in same geographic location

Поскольку ошибка является прерывистой, и я проверил наличие файла репо svn (т.е. файл зарегистрирован правильно), поэтому я не уверен, в чем проблема. Любая помощь действительно приветствуется.

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

Попробуй это

$ cd /my/repository/.svn
$ mv wc.db wc.db.old
$ sqlite3 wc.db.old
sqlite> .backup main wc.db
sqlite> .exit

теперь у вас есть новый wc.db, в котором не должно быть ошибок блокировки

Если все работает нормально, удалите wc.db.old

Если нет, ты всегда можешь

$ mv wc.db.old wc.db

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

но он должен работать ....

Если вы используете символические ссылки в своей файловой системе, обратите внимание, что SVN также может запутаться.

Мой локальный каталог SVN - это фактически символическая ссылка каталога на реальную локальную папку репозитория SVN.

Давайте посмотрим, как это может пойти не так, например, при перемещении файлов:

Чтобы переместить файл с turtoise svn, вы можете вырезать (CTRL-Икс) файлы сначала с помощью проводника Windows, затем выберите Paste из контекстного меню turtoise SVN.

Обычно появляется всплывающее окно SVN, и SVN перемещает ваши файлы в репо. Однако теперь появляется сообщение «база данных заблокирована».

Что произошло?

Что ж, при дальнейшем осмотре выясняется, что путь к каталогу меняется, когда я перемещаюсь в проводнике от «исходного» каталога к «целевому» каталогу перемещения.

Причина в символической ссылке.

При первом переходе к «исходному» каталогу перемещения (через символическую ссылку каталога) путь все еще отображается с именем символической ссылки. Все идет нормально.

Но когда я перехожу в «целевой» каталог, проводник Windows, кажется, внезапно разрешает символическую ссылку. Теперь путь в адресной строке выглядит иначе.

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