Domanda

Un problema che ho riscontrato qualche tempo fa per il quale non ho mai trovato una buona soluzione...

Supponiamo che tu abbia una copia funzionante estratta da subversion alla revisione 7500 e che il disco che contiene il repository corrente muoia.Hai un backup del repository, diciamo, alla revisione 7450.È semplice ripristinare il backup del repository, ma qualsiasi tentativo di utilizzare la copia di lavoro su di esso genera un errore che indica che la revisione 7500 non esiste nel repository.

Qual è il modo migliore per effettuare il check-in di una revisione gigantesca per portare il contenuto del repository in modo che corrisponda al contenuto della copia di lavoro e riportare la copia di lavoro a uno stato funzionale?

(Idealmente mi piacerebbe qualcosa di più semplice che dover controllare una copia di lavoro nuova di zecca e poi copiare manualmente tutti i file - penso che all'epoca le copie di lavoro fossero usate per gestire la configurazione dei server, quindi era una vera seccatura avere per controllare le copie funzionanti pulite)

È stato utile?

Soluzione

Potresti controllare una copia rev.7450 da qualche parte, quindi esportare la tua copia 7500 (per rimuovere le cartelle .svn).Trascina la copia esportata (che è l'ultima copia) sulla copia 7450.Tutti i nuovi file dovrebbero semplicemente sovrascrivere quelli più vecchi, lasciando le stesse cartelle .svn.

Subversion presuppone che tu abbia appena apportato una serie di modifiche a 7450 e al prossimo check-in lo imposterà come 7451.

Altri suggerimenti

Effettua un nuovo checkout in una cartella diversa, quindi utilizza un programma diff per creare una patch.applica la patch alla tua nuova copia di lavoro.

Se sei sicuro di avere la versione più recente nella tua directory, procedi come segue:

  1. Elimina l'elemento dal repository
  2. Elimina i riferimenti SVN dalla tua copia
  3. Controlla il tuo codice come nuova copia.
  4. Controlla il codice che hai appena effettuato il check-in

Puoi inserire i numeri di revisione mancanti caricando un file di dump con un gruppo di revisioni vuote.Ci sono risposte che discutono su come farlo su Come posso modificare il numero di revisione di un repository.Carica tutte le revisioni tranne una in questo modo, quindi puoi semplicemente archiviare tutte le modifiche in un'ultima revisione gigante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top