2013-03-09 20 views
6

Non riesco a effettuare commit/aggiornamento dal repository SVN L'altro giorno sull'unità di rete (one of these) l'ho installato a casa.Ankhsvn integrato in Visual Studio 2010 non è in grado di connettersi al repository SVN sull'unità di rete

mi riferisco al repository utilizzando l'URL:

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

Quando seleziono una delle Update o commettere opzioni dal menu di scelta rapida soluzione in VS 2010 ottengo una finestra di dialogo che visualizza l'eccezione mostrato di seguito :

enter image description here

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) 

Quando ho messo questo in su ho potuto comunicare con la multa repository all'interno di Visual Stu dio.

È possibile esplorare il contenuto dell'unità di rete utilizzando Windows Explorer.

Posso usare TortoiseSVN al di fuori di Visual Studio per aggiornare o eseguire il commit nel mio repository.

Tuttavia, questo è un dolore, voglio avere l'integrazione Ankhsvn con Visual Studio disponibile per l'uso.

Sembra che Visual Studio abbia dimenticato il nome utente/password di cui ha bisogno per accedere all'URL. Non riesco a trovare un modo per sostituire o forzare un prompt per le credenziali.

Sono anche passato a eseguire Visual Studio 2010 come amministratore in modo da poter lavorare con IIS 7, mi chiedevo se questo avesse qualcosa a che fare con esso?

risposta

4

Riscrivo la mia risposta con la conoscenza dei commenti alla mia risposta originale.

Si esegue Visual Studio con privilegi amministrativi. Ciò rende l'applicazione (VS) eseguita nella propria sessione, che ha i propri mapping di rete. Subversion tenta quindi di connettersi al file: /// repository usando una mappatura di rete che non è ancora stata creata.

La soluzione in questo caso è di garantire che il mapping di rete esista anche per questo utente amministrativo. È possibile farlo sfogliando la cartella tramite File-> Apri e quindi passando le credenziali.

Un'altra opzione potrebbe essere quella di creare un file batch che crea i mapping di rete (net add) e quindi avvia Visual Studio. Ciò eviterebbe di applicare nuovamente lo stesso trucco ogni volta.

Un'altra opzione sarebbe quella di connettersi a un server Subversion su http (s) o svn: //.

+0

Non sono sicuro che la mia domanda non sia chiara, ho modificato per renderlo più chiaro, si spera. Sto sviluppando in Visual Studio e eseguendo localmente il mio sito Web su IIS 7. L'unico punto in cui attualmente faccio qualcosa sulla rete è quando interagisco con il mio repository. Si trova su un'unità di rete autonoma, non sono sicuro se posso configurarlo per funzionare con un URL di repository "http: //"? – Grokodile

+0

Stai eseguendo il tuo studio visivo come amministratore (tramite elevazione o esegui come)? –

+1

Un'altra cosa che potresti provare è aprire prima "\\ mynetworkdrive \ Documents" nel file-> aperto, prima di provare ad accedere al file: // mynetworkdrive/documents via AnkhSVN. –