Не удалось открыть ошибку репозитория в Windows XP

Я пытаюсь передать мой локальный 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

Ответ 1

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

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

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

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

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

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

Ответ 2

Недавно вы обновили один или несколько ваших подрывных клиентов?

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

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

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

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

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

Ответ 3

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

svnadmin verify path\to\repository

Ответ 4

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

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

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

Ответ 5

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

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

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

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

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

Ответ 6

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

Ответ 7

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

  • Что локальный путь - это то, что вы намеревались
  • Что каталог все еще существует
  • Разрешения для всех папок в этом пути.