2014-06-18 15 views
7

Recentemente ho fatto un checkout e l'operazione si è bloccata quindi ho fatto un control-c per annullare. Dopo aver rimosso i file dalla directory (inclusa la directory .svn), ho cercato di fare un altro cassa e ha ricevuto il seguente errore:svn: E155037: l'operazione precedente non è stata completata; eseguire 'cleanup' se è stato interrotto

svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted 

Guardando in altri posti, la soluzione più probabile è quello di fare una pulizia SVN in la copia di lavoro corrente, tuttavia, la directory in cui sto cercando di effettuare il checkout non è nemmeno una copia funzionante. In effetti, se creo una nuova cartella e provo a fare un checkout da lì ottengo lo stesso messaggio. Se faccio una pulizia svn da questa directory, ottengo il messaggio di errore previsto:

svn: E155007: 'C:\Users\workspace\project1' is not a working copy directory. 

Esiste un database globale che utilizza SVN ho bisogno per irrigare? Sto usando Windows 7 e ho installato Tortoise SVN, ma sto usando il client della riga di comando di Subversion di CollabNet v1.8.9 (per Windows) per tutte le mie operazioni. Ho comunque cancellato tutti i file di registro associati a Tortoise SVN.

+0

directory padre, forse? – nneonneo

+0

Nessuna directory genitore sebbene abbia qualche altro repository SVN su cui posso fare lo stato di svn. Ho fatto solo per la pace della mente, eseguire il comando cleanup su quelle directory e il comando eseguito con successo. Questo tuttavia non ha risolto il mio problema. Mi chiedo se c'è un blocco o un log che deve essere scaricato sul server? –

risposta

2

Ok, quindi, quando ho annullato l'operazione di checkout dopo che si è bloccato, per qualche motivo, una directory .svn è stata inserita nella mia directory C: \. Rimozione della directory .svn da C: \ risolto il mio problema.

1

In realtà appena trovato la risposta alla mia domanda, cercando qui

Sembra che svn è stato bloccato nel vecchio operazione. Tutte queste operazioni sono memorizzate nel database wc.db nella cartella .svn.

Scaricando SQLite alla mia directory cassa e funzionante

sqlite3.exe .svn/wc.db "select * from work_queue" da cmd

ho ottenuto un elenco di tutte le operazioni in sospeso. Queste operazioni sono quelle "non completate" quindi eseguendo

sqlite3.exe .svn/wc.db "elimina da work_queue" tutte queste operazioni in sospeso vengono eliminate e posso eseguire nuovamente il commit. Non c'è bisogno di un checkout re o qualcosa

+0

中文 详细 答案: http: //blog.csdn.net/superch0054/article/details/38668017 – Gordon

1

esegue l'eliminazione

Per me nelle versioni (la mia SVN) in Top Nav < < azione/Clean Up lavoro Locks Cop.

enter image description here

Problemi correlati