2009-10-08 25 views
51

Cosa fa effettivamente una pulizia TortoiseSVN?Cosa fa realmente una pulizia TortoiseSVN?

Non ho trovato uno schema, ma spesso mi viene chiesto di eseguire una "pulizia" durante il tentativo di eseguire il commit del codice.

Se TortoiseSVN sa quando è sporco, perché non esegue una pulizia autonomamente?

risposta

32

Edit: penso che non è automatico come ha bisogno di interrompere le operazioni e sbloccare la copia di lavoro in/percorso.

Subversion libro:

ricorsivamente ripulire la copia di lavoro, rimozione serrature e la ripresa non finiti operazioni. Se si verifica un errore di blocco della copia di lavoro , eseguire questo comando su rimuovere i blocchi obsoleti e ottenere di nuovo la copia di lavoro in uno stato utilizzabile . "Si noti che in questo contesto il blocco fa riferimento al blocco del file system locale , non al blocco del repository.

È fondamentalmente un modo per provare a recuperare eventuali errori che si verificano con SVN.

Documentazione sulla pulizia:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-cleanup.html

"Se un comando Subversion non può completa con successo, forse a causa di problemi di server, la copia di lavoro può essere lasciato in uno stato incoerente In . In tal caso è necessario utilizzare TortoiseSVN → Pulizia nella cartella È una buona idea di eseguire questa operazione al livello più alto di la copia di lavoro.

La pulizia ha un altro effetto utile . Se una data file di modifiche, ma il suo contenuto non lo fa, Subversion non può dire se è davvero cambiato se non facendo un confronto byte per byte con la copia intatta. Se hai un sacco di file in questo stato , lo stato di acquisizione diventa molto lento, , che renderà molte finestre di dialogo lente a rispondere. Esecuzione di un Cleanup sul tuo copia di lavoro si impegna a riparare questi timestamp “spezzato” e ripristinare lo stato controlli a tutta velocità."

+0

io non capisco ogni volta, ma io vederlo abbastanza spesso –

+0

So che questo non aiuta ma non ho visto il messaggio e lo sto usando da circa un anno. È quando commetti o solo casualmente? – Andrew

+0

Mi spiace rileggere il tuo post, ti impegni a utilizzare la rete wireless o sei soggetto a problemi di rete in generale? forse potrebbe avere qualcosa a che fare con questo. Viene archiviato nella rete locale o memorizza il commit in remoto? – Andrew

3

Cerca incoerenze. Da the docs:

Se un comando Subversion non può completa con successo, forse a causa di problemi di server, la copia di lavoro può essere lasciato in uno stato incoerente. In in questo caso è necessario utilizzare TortoiseSVN → Pulizia nella cartella. È una buona idea di fare questo al livello più alto di la copia di lavoro.

La pulizia ha un altro effetto utile . Se una data file di modifiche, ma il suo contenuto non lo fa, Subversion non può dire se è davvero cambiato se non facendo un confronto byte per byte con la copia intatta. Se hai un sacco di file in questo stato , lo stato di acquisizione diventa molto lento, , che renderà molte finestre di dialogo lente a rispondere. L'esecuzione di una pulizia sulla tua copia di lavoro ripristina questi timestamp "danneggiati" e ripristina i controlli di stato alla massima velocità.

16

mette del nastro adesivo sulla bug e un'architettura muto in SVN che permettono la copia di lavoro per essere danneggiato.

non è automatico per ragioni di architettura muto e perché ci vuole SEMPRE. Naturalmente, quando SVN ha ottenuto popolare la sua architettura era miglia davanti CVS.