Ankhsvn, интегрированный в Visual Studio 2010, не может подключиться к репозиторию SVN на сетевом диске

У меня возникают проблемы с фиксацией/обновлением из репозитория SVN, который я установил на днях на своем сетевом диске (один из них) дома.

Я имею в виду репозиторий, используя URL-адрес:

file://mynetworkdrive/Documents/subversion/code/sln/trunk/MyWebsite/trunk/Home

Когда я выбираю любой из параметров «Обновить» или «Зафиксировать» в контекстном меню «Решение» в VS 2010, я получаю диалоговое окно, отображающее исключение, показанное ниже:

введите здесь описание изображения

SharpSvn.SvnRepositoryIOException: Commit failed (details follow): ---> SharpSvn.SvnRepositoryIOException: Unable to connect to a repository at URL 'file://mynetworkdrive/Documents/subversion/code/sln/trunk/MyWebsite/trunk/Home' ---> SharpSvn.SvnRepositoryIOException: Unable to open an ra_local session to URL ---> SharpSvn.SvnRepositoryIOException: Unable to open repository 'file://mynetworkdrive/Documents/subversion/code/sln/trunk/MyWebsite/trunk/Home' ---> SharpSvn.SvnSystemException: Can't open file '\\mynetworkdrive\Documents\subversion\code\sln\trunk\MyWebsite\trunk\Home\format': Logon failure: unknown user name or bad password.  
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, SvnException error, Object targets)
   at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, svn_error_t* error, Object targets)
   at SharpSvn.SvnClient.Commit(ICollection`1 paths, SvnCommitArgs args, SvnCommitResult& result)
   at Ankh.Services.PendingChanges.PendingChangeHandler.<>c__DisplayClass1b.<Commit_CommitToRepository>b__19(Object sender, ProgressWorkerArgs e)

Когда я впервые настроил это, я мог нормально общаться с репозиторием из Visual Studio.

Я могу просмотреть содержимое сетевого диска с помощью проводника Windows.

Я могу использовать TortoiseSVN вне Visual Studio для обновления или фиксации в моем репозитории.

Однако это боль, я хочу иметь интеграцию Ankhsvn с Visual Studio, доступную для использования.

Кажется, что Visual Studio забыла имя пользователя/пароль, необходимые для доступа к URL-адресу. Я не могу найти способ заменить или принудительно запросить учетные данные.

Я также перешел на запуск Visual Studio 2010 в качестве администратора, чтобы работать с IIS 7. Мне было интересно, имеет ли это какое-то отношение к этому?


person Grokodile    schedule 09.03.2013    source источник


Ответы (1)


Переписывая мой ответ со знаниями из комментариев к моему первоначальному ответу.

Вы запускаете Visual Studio с правами администратора. Это заставляет приложение (VS) работать в своем собственном сеансе, который имеет свои собственные сетевые сопоставления. Затем Subversion пытается подключиться к репозиторию file:///, используя сетевое сопоставление, которое еще не создано.

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

Другой вариант — создать пакетный файл, который создает сетевые сопоставления (net add), а затем запускает Visual Studio. Это позволит избежать повторного применения одного и того же трюка каждый раз.

Другой вариант — подключиться к серверу Subversion через http(s) или svn://.

person Bert Huijben    schedule 12.03.2013
comment
Я не уверен, что мой вопрос был неясен, надеюсь, я отредактировал его, чтобы сделать его более понятным. Я разрабатываю в Visual Studio и запускаю свой веб-сайт на IIS 7 локально. Единственный момент, когда я сейчас что-то делаю по сети, — это когда я взаимодействую со своим хранилищем. Он расположен на отдельном сетевом диске, я не уверен, смогу ли я настроить его для работы с URL-адресом репозитория http://? - person Grokodile; 18.03.2013
comment
Вы используете свою визуальную студию от имени администратора (через повышение прав или запуск от имени)? - person Bert Huijben; 21.03.2013
comment
Еще одна вещь, которую вы можете попробовать, это сначала открыть '\\mynetworkdrive\Documents' в файле-›open, прежде чем пытаться получить доступ к file://mynetworkdrive/documents через AnkhSVN. - person Bert Huijben; 21.03.2013
comment
Я настроил ярлык VS для запуска от имени администратора, сегодня вечером попробую открыть идею, спасибо - person Grokodile; 21.03.2013
comment
Ха-ха, так просто, что должно было сработать! Файл -> открыт, запрошены учетные данные, снова можно зафиксировать! Гений. Если бы вы могли отредактировать это предложение в качестве своего ответа, я должным образом приму его. - person Grokodile; 22.03.2013
comment
Переместите мой репозиторий сегодня, чтобы я мог делиться им между машинами. У меня он есть на подключенном диске на моем основном компьютере, подключающемся через мой ноутбук. Я не мог понять проблему фиксации, пока не нашел это. Я могу заставить коммит работать, не работая от имени администратора, или выполнив файл | открыть на подключенном диске. Спасибо большое - person pStan; 10.07.2013