Tortoise SVN Repo-Browser
-
22-07-2019 - |
Domanda
Mi chiedevo se faccio clic con il pulsante destro del mouse su un file nel browser repository SVN, viene eliminato definitivamente? può essere recuperato?
Soluzione
Questa domanda / risposta dalle FAQ SVN potrebbe interessarti:
Come rimuovo completamente un file dalla cronologia del repository?
Ci sono casi speciali in cui tu potrebbe voler distruggere tutte le prove di un file o commit. (Forse qualcuno commesso accidentalmente un riservato documento.) Non è così facile, perché Subversion è progettato appositamente per non perdere mai informazioni. Le revisioni sono alberi immutabili che si basano su uno un altro. Rimozione di una revisione da la storia provocherebbe un effetto domino, creando caos in tutti i successivi revisioni e possibilmente invalidanti tutte le copie funzionanti.
Il progetto prevede tuttavia di un giorno implementare un comando
svnadmin obliterate
che farebbe svolgere il compito di in modo permanente eliminazione di informazioni. (Vedi il numero 516.)Nel frattempo, l'unica risorsa è quindi
svnadmin dump
il tuo repository reindirizza il file di dumpsvndumpfilter
(escluso il percorso errato) in un comandosvnadmin load
.
Se è così difficile, ci sono poche possibilità che possa essere fatto facilmente da Tortoise SVN ...
(E non è l'obiettivo del controllo del codice sorgente ...)
Altri suggerimenti
Scoprirai che puoi eliminare dal Repo Browser solo quando visualizzi la revisione HEAD. Ciò è identico all'eliminazione di un file dalla copia di lavoro e quindi alla verifica dell'eliminazione. In entrambi i casi, sarai in grado di ripristinare dalla revisione precedente.
L'eliminazione di un file tramite il menu di scelta rapida del browser repository crea fondamentalmente una nuova revisione globale in cui è stato eliminato solo quel file, quindi appare nel registro in quanto tale - è sempre possibile tornare a quella revisione per ripristinare il file, oppure puoi semplicemente estrarlo direttamente dal repository nella tua copia di lavoro.
No ... L'eliminazione di un file (anche utilizzando il browser repo) ha effetto solo sulle copie funzionanti. Sarebbe un sistema di controllo di revisione piuttosto scadente se non si riuscisse a recuperare un file dal passato. In realtà è piuttosto difficile modificare i file in una revisione impegnata, anche se si dispone dell'accesso root al server.
Il clic destro non fa apparire solo una sorta di menu? E con SVN è che puoi sempre ripristinare comunque.
Ho cancellato una directory di livello superiore da Repo Browser per caso e l'unico modo per recuperarla era il seguente:
- Esporta la cartella di livello superiore da una cronologia delle versioni precedente
- Crea una nuova cartella nel repository per sostituire quella eliminata.
- Aggiungi nuovamente i file esportati nella nuova directory (stesso nome del precedente)
- Aggiorna la copia di lavoro, eliminerà e quindi aggiungerà nuovamente gli stessi file.
È fastidioso, ma almeno il funzionamento e il repository torneranno in sincronia. "Ripristina modifiche da questa revisione" non ha funzionato per annullare le eliminazioni di repository, ripristina solo nella directory di lavoro e non in " Annulla " l'eliminazione nel repository.