SVN: è possibile eliminare un ramo che è stato copiato, ecc rimosso per sempre?

StackOverflow https://stackoverflow.com/questions/2548616

  •  23-09-2019
  •  | 
  •  

Domanda

devo togliere un ramo dalla storia svn per sempre. Normalmente avrei usato

svnadmin dump /path/to/repo |svndumpfilter --drop-empty-revs --renumber-revs exclude /branches/bad_branch 

Tuttavia questo ramo non è stato appena creato, ma anche spostato e poi rimosso e discarica script non riesce ad elaborare le informazioni a valle con messaggi come: percorso di origine della copia non valido '/ rami / bad_branch'

Quindi immagino 2 modi per affrontare il problema

  1. solo mantenere ultimi revisioni del la storia e mettere repository corrente come archivio sul web

  2. fare una discarica fino alla revisione in cui il 'Bad_branch' stato creato e applicare il resto delle modifiche come una patch, perdendo quindi la storia di pochi commit recenti.

C'è un modo migliore, più pulito per far fronte a questo?

È stato utile?

Soluzione

La prima parte del tuo numero 2 funzionerà. Quindi sì, creare una discarica fino al punto in cui è stato introdotto il ramo offendere e creare un nuovo repository con esso. Poi ancora utilizzando svnadmin dump e l'opzione --incremental, scaricare tutte le buone revisioni tra le revisioni ramo cattivi. Ecco un esempio di ciò che il comando incremental discarica sarà simile:

svnadmin dump /path/to/repo --incremental -r 1234:2345

Mantenere l'applicazione di tali discariche incrementali per il nuovo repository. Questo dovrebbe produrre un repository senza offendere creazione ramo male, si muove, e si impegna e preservare tutta la vostra storia per quei buoni revisioni che una patch, come lei ha suggerito, avrebbe distrutto.

A seconda di quanti revisioni il ramo di brutto è, questo è un sacco di lavoro. E 'anche l'unico modo per fare questo con le versioni 1.6.x o precedenti di Subversion in questo momento.

Ora ecco l'avvertimento. Se ci sono messaggi di commit per buona revisioni che hanno riferimento ai numeri di revisione, saranno off. Questo non sarà quello di male se ci sono alcuni limitati di loro, ma potrebbe essere noioso per correggere se ci sono molti.

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