2009-09-22 20 views
5

Probabilmente questa è una domanda molto semplice, ma non ho ancora trovato come eliminare tutti i file presenti al momento in un repository SVN esterno.Elimina tutti i file dal repository svn

posso cancellare un solo file utilizzando:

svn delete -m "delete README" http://myrepo.com/svn/myrepo/README 

Ma ora voglio eliminare tutti loro. Ho pensato a uno script che ottiene l'elenco di tutti i file del repository e in seguito li elimina uno per uno, ma questo è noioso. Conosci una soluzione più semplice?

Ho anche provato:

svn rm http://myrepo.com/svn/myrepo 
svn delete http://myrepo.com/svn/myrepo/* 

ma niente

Grazie

+0

possibile vittima: http://stackoverflow.com/questions/264323/svn-recursive- elimina –

+0

non funziona perché non riesco a rimuovere l'intero repository. Mi interessa solo il suo contenuto, nella cancellazione di tutti i file ci – flow

risposta

25

Si potrebbe fare un checkout poco profondo e quindi cancellare tutto.

Esempio:

svn checkout --depth immediates http://myrepo.com/svn/myrepo myworking_copy 
cd myworking_copy 
svn rm * 
svn ci -m "Deleting all" 
+0

+1, semplice e funziona – orip

+1

hi questa soluzione sembra davvero semplice e buona. L'ho provato, ma ho ricevuto degli errori e poi aggiornato all'ultima versione di SVN. Quindi ha riconosciuto l'opzione --depth ma ho ancora ricevuto questo errore: http://subversion.tigris.org/faq.html#unrecognized-url-error Quindi sembra che la mia installazione di SVN non fosse buona. Mentre ero a corto di tempo ho provato TortoiseSVN (purtroppo solo per vincere $), navigato il repo e cancellato tutti i file lì :) Comunque io risolverà l'installazione di svn dopo grazie – flow

+0

questa domanda può rivelarsi utile per rimuovendo la directory repo che conteneva tutti i file. http://stackoverflow.com/questions/9317600/deleting-a-folder-from-svn-repository –

0

Lei non ha detto che la piattaforma si è in.

Se sei su Windows e hai installato TortoiseSVN, puoi cercare tutti i file nella gerarchia di cartelle utilizzando l'explorer, contrassegnare tutti i file risultanti e rimuoverli utilizzando Tortoise.

Se sei su un derivato Unix (include OSX), probabilmente puoi fare qualcosa di simile nella tua shell preferita.

1

È possibile svn rm un sub-percorso nei pronti contro termine, ma non i pronti contro termine stesso. Per il futuro una struttura trunk/branches/tags probabilmente ti starà meglio.

di cancellarli con un po 'bash/magic zsh:

REPO=http://myrepo.com/svn/myrepo && svn rm `svn ls $REPO | sed "s/^/$REPO\//"` 

che si espanderà per

svn rm http://myrepo.com/svn/myrepo/file_1 http://myrepo.com/svn/myrepo/file_2 ... 
Problemi correlati