2010-04-02 2 views
15

TortoiseSVN è bello per la maggior parte, ma una cosa che si verifica in una situazione di sviluppo del team in cui più di una persona utilizza un particolare PC è l'autenticazione. Quando lavoro su roba, mi piace salvare le credenziali in modo che non debba continuare a inserirmi per logging, branching, commit, ecc.Cancellazione della cache di autenticazione TortoiseSVN dalla riga di comando

Il problema è che ho sempre dimenticato di cancellare le mie credenziali quando me ne vado, perché:

  1. Non voglio doverlo reinserire di nuovo se nessun altro usa il computer e di proposito dimentica.
  2. È una PITA da fare e richiede 4 troppi clic del mouse da fare.

Idealmente, mi piacerebbe avere un paio di bei file batch in SVN per gestire questo genere di cose, inclusa la ricostruzione della cache delle icone (che funziona correttamente). Ho guardato a the command line documentation e non menziona la cancellazione della cache di autenticazione.

Qualcuno ha capito come si fa? Penso che mi incoraggerà a cancellare più spesso le mie credenziali. Non è la fine del mondo, dal momento che possiamo sempre cambiare l'autore dopo il commit, ma comunque ...

+0

Non dovrebbero più utenti PC utilizzare account Windows diversi? –

+0

Sui nostri sistemi, lo facciamo, ma non su sistemi con hardware condiviso che dobbiamo programmare. Questo è ancora meno efficiente della semplice cancellazione della cache di autenticazione SVN. – Dave

risposta

22

è necessario eliminare i file manualmente, in questo modo (usando file .bat):

@echo off 
rmdir /s /q "%APPDATA%\Subversion\auth" 

Vedere la sezione Authentication della documentazione TortoiseSVN.

+0

Mi picchia. Ma sì, l'autenticazione è appena memorizzata nei file, quindi l'eliminazione dei file la cancellerà. –

+0

ok, grazie! Non saprei dire chi ha risposto per primo (vorrei che SO abbia riportato il tempo al millisecondo), ma ti ho dato la risposta perché hai postato il contenuto del tuo file batch. :) E funziona completamente! – Dave

2

Secondo this, questo sembra essere dovuto al fatto che i dati di autenticazione sono gestiti dalla libreria SVN, non da Tortoise:

No può fare nessuno dei due. I dati di autenticazione sono memorizzati in% APPDATA% \ Subversion \ auth, ma il nome utente/password sono crittografati e archiviati in file che hanno il il loro nome come hash md5 dell'URL e il testo informativo inviato dal server. Poiché TSVN non conosce il testo informativo del server, non può creare l'hash md5 e quindi non sa quale file crittografato contiene i dati di autenticazione .

non sembra essere un modo per indicare al cliente svn per cancellare i dati - tutte le soluzioni che posso vedere in realtà eliminare i file nella directory auth.