Невозможно открыть ошибку хранилища в Windows XP - PullRequest
4 голосов
/ 03 февраля 2009

Я пытаюсь зафиксировать мой локальный SVN, который работал нормально, но сегодня выдает эту ошибку:

Unable to open repository 
'file:///C:/wamp/www/svns/[myproject]/[dir]/[subdir]'

В чем может быть проблема?

Редактировать: полная ошибка:

Commit failed (details follow):
Unable to open an ra_local session to URL
Unable to open repository 
'file:///C:/wamp/www/svns/[myproject]/[dir]/[subdir]'

Второе редактирование:

Вот информация о клиентах TortoiseSVN и SVN:

TortoiseSVN 1.5.7, Build 15182 - 32 Bit , 2009/01/24 22:44:13
Subversion 1.5.5, 
apr 1.2.12
apr-utils 1.2.12
berkeley db 4.4.20
neon 0.28.3
OpenSSL 0.9.8i 15 Sep 2008
zlib 1.2.3

Ответы [ 7 ]

6 голосов
/ 03 февраля 2009

Недавно вы обновили один или несколько клиентов Subversion?

Все ваши клиенты должны быть на одном уровне (Все 1.4. , все 1.5. или скоро все 1.6. *), Если они обращаются к вашему хранилищу напрямую.

Технически вы можете обойтись без некоторых других комбинаций, но, поскольку вам нужно, чтобы они были такой же версией и для ваших рабочих копий, вам просто нужно сделать их совместимыми ... (До выпуска 1.5.X ваш репозиторий был автоматически обновлен до последняя версия при доступе к ним с более поздней версией).

Еще одна вещь, на которую следует обратить внимание, это то, что не все клиенты поддерживают одинаковые форматы репозитория. Большинство поддерживает fsfs, но не все поддерживают BDB. И что еще хуже, есть несколько несовместимых версий BDB ....

TortoiseSVN, AnkhSVN и Slik Subversion имеют одинаковые версии BDB на том же уровне 1.X.Y. Для других клиентов вы должны прочитать их документацию

Небольшое обновление: TortoiseSVN 1.6.x прекратит поддержку file: // доступ к репозиториям BDB. (Для доступа к этим репозиториям вам потребуется сервер svnserve или apache)

4 голосов
/ 15 февраля 2009

Использование URL-адреса file: // для доступа к репозиториям может привести к повреждению репозитория , так как протокол file: // не имеет состояния по своей природе и часто не используется, когда для хранилище.

Поэтому вы можете использовать схему URL svn: //, чтобы проверить, действительно ли хранилище было повреждено. Это происходит из-за способа, которым Subversion обрабатывает различные схемы URL - он использует уровень доступа к хранилищу для обработки схем URL. Различные модули в слое RA обрабатывают соответствующие протоколы, такие как file: //, svn: //, http: // и т. Д. В вашем случае модуль ra_local сообщал об ошибке, поскольку обрабатывает схему URL file: //.

Схема URL svn: // может использоваться, если вы используете демон svnserve. Здесь я немного самонадеян, но при условии, что у вас есть демон svnserve, настроенный для работы в качестве службы Windows . Здесь важен корневой каталог для svnserve - путь в URL относительно корневого.

Предполагая, что C: / wamp / www / svns / [myproject] является вашим хранилищем, а корневой каталог для svnserve установлен в C: / wamp / www / svns, вы можете попытаться получить доступ к проекту с помощью svn: // имя хоста / [MyProject].

С другой стороны, поскольку вы используете BDB вместо FSFS, взгляните на следующие записи часто задаваемых вопросов на сайте Subversion:

  1. Восстановление хранилища BDB Запомните Совет Стефана о запуске svnadmin для проверки, прежде чем пытаться выполнить восстановление.
  2. Правильная установка разрешений для репозитория

PS: резервное копирование полезно.

4 голосов
/ 03 февраля 2009

Не забудьте запустить

svnadmin verify path\to\repository
1 голос
/ 22 октября 2010

В моем случае, это, должно быть, ошибка в настройках разрешений SVN-Tortoise. Я ничего не изменил, но не мог импортировать или фиксировать внезапно. Это было решено только тогда, когда я переустановил SVN-Tortoise и создал новый репозиторий.

1 голос
/ 14 февраля 2009

Я думаю, что это может быть связано с одним из следующих:

  1. BDB 4.4 несовместимость с вашими клиентами SVN. Проверьте эту ссылку для получения дополнительной информации (это не для Windows, но, надеюсь, все еще полезно) - то есть обновите BDB до> 4.4 или перейдите на fsfs.
  2. Проблема с правами доступа к файлу. В книге "Practical Subversion" есть раздел о разрешениях репозитория, в котором конкретно упоминается ошибка, которую вы получаете. Смотрите ссылку для предварительного просмотра - как правило, вам нужно будет дважды проверить все разрешения. Также: как кто-то еще предположил, стоит проверить двойную проверку разрешений для временной папки Windows, так как svn может использовать это за кулисами.

Также может быть хорошей идеей перейти на хранилище fsfs.

Если это не помогает: вы получаете какие-либо дальнейшие строки ошибок после

Unable to open repository
'file:///C:/wamp/www/svns/[myproject]/[dir]/[subdir]'
1 голос
/ 03 февраля 2009

У нас также были проблемы с svn за последние пару дней, связанные с разрешениями на C: /windows/temp.

Возможно, исправление MS нарушило доступ svn к временным файлам?

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

0 голосов
/ 03 февраля 2009

Первые три вещи, которые я бы проверил:

  1. Что локальный путь - это то, что вы намеревались
  2. что каталог все еще существует
  3. Разрешения для всех папок в этом пути.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...