Svn ha un comando `revert-all`?


159

Se voglio eliminare tutte le mie modifiche e tornare al codice che si trova nel repository, faccio quanto segue:

$ rm -fr *
$ svn up

Questo è abbastanza facile, ma mi chiedo se esiste un singolo comando che lo realizzerà, qualcosa del tipo:

$ svn revert-all

Chi usa -fr anziché -rf? C'è una ragione per cui è pronunciato rimraf, non rimfer.
Jimmy Hoffa,

@JimmyHoffa Qual è il motivo?
Eric Wilson,

3
la convention è Wilson! Convenzioni, signore! Senza la nostra disciplina e tradizioni culturali, non siamo che selvaggi! Dico, buona giornata signore!
Jimmy Hoffa,

Risposte:


306

Potresti fare:

svn revert -R .

Ciò non eliminerà alcun nuovo file non sotto il controllo della versione. Ma puoi facilmente scrivere uno script di shell per farlo come:

for file in `svn status|grep "^ *?"|sed -e 's/^ *? *//'`; do rm $file ; done

2
Benvenuti in SO, e grazie per una risposta completa, in quanto svn revert -Rnon equivale ai due comandi che ho dato.
Eric Wilson,

1
Per rimuovere tutti i file non sotto controllo di versione nella riga di comando di Windows, la risposta è qui: stackoverflow.com/a/1502365/1385429
Christiaan Westerbeek,

L'utente mashzo ha sottolineato (in una risposta ora cancellata) che il -Rflag potrebbe essere necessario per garantire che anche le directory non sorvegliate vengano eliminate, come parte dell'eliminazione di tutte le modifiche. Valuta di incorporarlo nella tua risposta, se ti sembra appropriato.
Jeremy Banks,

27

C'è un comando

svn revert -R .

OPPURE
puoi usare --depth = infinity, che in realtà è lo stesso di sopra:

svn revert --depth=infinity 

svn revertè intrinsecamente pericoloso, poiché il suo scopo è quello di eliminare i dati, vale a dire le modifiche senza impegno. Dopo aver ripristinato, Subversion non fornisce alcun modo per recuperare le modifiche non confermate


7
-Rè equivalente a--depth=infinity
Michael Burr il

4
Nel tuo cmd "svn revert -R" manca la directory corrente nella sintassi .. dovrebbe essere "svn revert -R."
Boddhisattva,

Attualmente, il post sembra -Rescludersi a vicenda --depth-infinityquando non lo è.
ahnbizcad,

@ahnbizcad Non sono comunque quei due sinonimi esatti?
Nyerguds,

Questo è il mio punto. Questa risposta rende i due suoni diversi quando non lo è. "mutualmente esclusivo" = opposto del sinonimo
ahnbizcad il

17

Utilizzare l'interruttore ricorsivo --recursive (-R)

svn revert -R .

0

Per ripristinare i file modificati:

sudo svn revert
svn status|grep "^ *M" | sed -e 's/^ *M *//'

Penso che il mio cambio di formattazione rappresenti quello che vuoi. Rollback se non ti piace. E grazie, è bello ricordare i brutti vecchi tempi di SVN ... :)
Eric Wilson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.