2010-11-03 10 views
6

stavo facendo un aggiornamento svn, e un paio di cartelle improvvisamente si sono ostruite, e la pulizia era inutile - riportava serrature che non riuscivo a trovare o rilasciare. ho finito per eliminare le cartelle offensive e la pulizia ha funzionato.stato tortoisesvn: ostruito

credo di aver capito che svn non è stato in grado di confrontare le sottocartelle o qualcosa del genere ...

la mia domanda è: come hanno ottenuto in questo modo; è un cambiamento locale che lo ha causato, o potrebbe essere stato un altro compagno di squadra che ha commesso qualcosa? il mio client svn è scaduto?

risposta

4

Più probabilmente non ha avuto niente a che fare con un altro compagno di squadra che ha commesso qualcosa nel repository SVN per influenzare la tua copia di lavoro.

Le copie di lavoro sono una grande innovazione di Subversion, ma a volte si rompono solo dall'uso e dall'abuso e è necessaria una nuova verifica. Questo può essere aggravante quando si hanno cambiamenti locali.

Ora le ostruzioni possono essere causate da un paio di cose. Innanzitutto, la copia di lavoro è appena stata vinta. È rotto, la pulizia non lo risolverà. Secondo, potrebbe essere ostruito perché hai un'altra finestra, applicazione o processo che ha una presa su un file o una directory che stai tentando di eseguire il commit. Questo è particolarmente comune con Windows e TortoiseSVN.

Sei sicuro di non avere finestre a riga di comando, altre applicazioni o persino finestre di Windows Explorer per file puntate su quelle directory?

+0

Suppongo che molto facilmente avrei potuto avere una finestra di esplorazione aperta in una sottodirectory. lo terrò a mente per la prossima volta. forse anche un riavvio della macchina Windows potrebbe ripulire qualsiasi blocco/blocco del sistema. grazie – changokun

1

L'ho visto ieri su un computer client che stava tentando di utilizzare una versione 1.4.x di TortoiseSVN sul mio server 1.6.x. Stava avendo problemi con grandi commit e alla fine avrebbe fallito. Ha lasciato la copia di lavoro in uno stato incasinato e non è riuscito a eseguire il commit, anche dopo una pulizia.

L'installazione dell'ultima versione ha risolto tutto. (ancora necessario per soffiare via la copia di lavoro ostruita e controllare fresco, però)

+0

un aggiornamento sarebbe probabilmente una buona idea. la prossima volta controllerò i numeri di versione di tutti. Grazie – changokun

0

Ho avuto lo stesso problema quando provavo ad aggiungere al mio repo una directory che era già versionata altrove. Dopo aver eliminato i riferimenti svn, il conflitto ha provocato l'ostruzione.

Ho cambiato il nome della cartella colpevole e questo ha fatto il trucco che ero in grado di aggiungere e commettere.
In qualche modo ToirtoiseSVN gestiva il riferimento del nome della cartella e la modifica era una soluzione riuscita.

5

Ciò può verificarsi anche quando si dispone di un collegamento simbolico alla directory SVN. Se premi Commit dalla directory attuale va bene, ma se scegli Commit sul link simbolico, dirà che la directory è ostruita.