SVN не может получить эксклюзивную блокировку для файла <repo>/ db / txn-current-lock ': неверный адрес - PullRequest
4 голосов
/ 17 января 2011

Уже час я не могу зафиксировать свой svn-репозиторий.Все репозитории на моем сервере SVN затронуты.

Обновление и проверка работает нормально.При фиксации выдается следующая ошибка:

svn: Commit failed (details follow):
svn: Can't get exclusive lock on file '/var/svn/repos/<repo name>/db/txn-current-lock': 
  Bad address

Проблема началась, когда я создал новый репозиторий с именем 'config', хотя я не уверен, что это вызвало проблемы, с которыми я сталкиваюсь.

svnadmin recover <repo name> дает:

svnadmin: Can't get exclusive lock on file '<repo name>/db/write-lock': Invalid argument

Почему возникает проблема с блокировкой?

[править] Сервер ухудшился и запустил Segfaulting при попытке установитьобновления.После перезагрузки вся проблема, кажется, решена ...

Ответы [ 3 ]

1 голос
/ 17 января 2011

Репозиторий поврежден, см. Восстановление Berkeley DB часть SVN Book. Короче надо сделать;

svnadmin recover /path/to/repos
0 голосов
/ 27 января 2015

Я столкнулся с этой проблемой только сегодня утром после переноса хранилища по всему миру.Проблема заключалась в том, что root владел каталогом на сервере, но веб-сервер работал от имени другого пользователя.Измените владельца каталога на сервере, используя

chown -R user:group /path/to/repository

, чтобы решить проблему, заменив 'user' на пользователя, который запускает веб-сервер, и 'group' обычно должна совпадать с user.

0 голосов
/ 15 апреля 2012

Я только что столкнулся с этой проблемой после миграции серверов SVN.Для этого я использовал собственные команды экспорта и импорта svn.На новом сервере я получил ту же ошибку, что и OP.Я заметил, что если из оболочки я выполнял commit как sudo, это работало, но это не удавалось под моей обычной учетной записью.Я просто быстро сделал chmod 777 -R, что для меня хорошо, потому что это просто мой локальный dev box дома.

svn recovery не решило проблему.Вы не можете заблокировать файл, потому что у вас нет прав на запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...