repository SVN Loaded manca ultimi revisioni - come faccio a risolvere questo problema?

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

  •  20-09-2019
  •  | 
  •  

Domanda

ho buttato il mio repository

svnadmin dump repos > repos.dump

allora ho caricato sulla nuova macchina

svnadmin load newrepos < repos.dump

e una volta terminato il nuovo repository manca ultime centinaia di revisioni.

Posso ispezionare repos.dump per vedere se manca la revisione? Posso scaricare le revisioni mancanti e caricarli sul nuovo repository? Oppure, devo ricominciare da zero.

A partire da zero sarebbe un dolore dal momento che il repository è 3GB e devo afferrarla attraverso Internet a moderatamente basse velocità!

EDIT: RISOLTO - OPERATORE ERRORE

Così, ho dimenticato che avevo già migrato il repository una volta (da Account1 a Account2) ed e non ho mai rimosso il repository Account1. Ho una funzione bash per ssh rapidamente nei miei account remoti e mi tronchi in account1 di default (che io non pensavo a) e da quando ho visto il repository ho pensato che tutto andava bene e quindi inviato la discarica a account3 (usando di nuovo un alias in modo che io non si accorse che ero nel conto sbagliato).

Ora, ho intenzione di mettere il nome utente per l'account in rosso nel terminale, e sto caching vecchi repository piuttosto che lasciare che esse si trovano in giro. E, sto tirando fuori l'aspetto utente predefinito del mio profilo mod.

Ma, sono stato in grado di utilizzare --incremental per trasferire le revisioni mancanti nella nuova posizione. Così, tutti i consigli ancora aiutato.

È stato utile?

Soluzione

Direi che la discarica è più grande di 4 GB (come discariche non vengono salvate con delta per impostazione predefinita, in modo che possano essere molto più grande del pronti contro termine), e alcune fasi del processo di trasferimento della discarica troncato a 4 GB, che è la dimensione massima del file su alcuni file system (e possibilmente in alcuni protocolli pure). E 'anche possibile che qualche fase del processo potrebbe essere il troncamento è a 2 GB, a seconda del metodo di trasferimento di file che si sta utilizzando.

È possibile controllare ispezionando il file; dovrebbe avere i numeri di revisione in esso, e si può vedere quanto in alto si trovino.

Invece di iniziare tutto il processo più volte, è possibile utilizzare l'opzione --incremental a svnadmin dump per produrre una discarica incrementale, iniziando con l'ultima buona revisione è stato caricato nel nuovo repo. Caricamento di una discarica incrementale in un repository esistente dovrebbe funzionare bene. Si potrebbe fare qualcosa di simile

svnadmin dump --incremental -r 1234:HEAD > repos.2.dump
# Transfer to new system
svnadmin load < repos.2.dump

Altri suggerimenti

  

Posso ispezionare repos.dump per vedere se manca la revisione?

Sì. Ci sono linee come

Revision-number: XYZ

nel file di dump.

  

Posso scaricare le revisioni mancanti e caricarli sul nuovo repository?

Sì. È possibile utilizzare svnadmin load per commettere revisioni sia per un repository nuovo o esistente.

Per verificare che tutte le revisioni sono nel vostro dumpfile, grep per "Revisione-numero". È inoltre possibile aprire il file in un editor di testo per verificare la presenza di eventuali danni evidenti, ma non salvarlo .

Il motivo principale che ho trovato per svnadmin load di fallire è se si sta cercando di caricare in un repository che ha già contenuti. Il comando del carico controllerà per verificare che il repository è in stato di attesa prima di prendere un file dump. Ho lavorato intorno a questo in passato utilizzando il flag --incremental quando dump del repository.

Si deve scrivere i numeri di revisione alla riga di comando come sta facendo il dump. Questo è quello che ho, anche quando reindirizzamento a un file come hai fatto tu.

È possibile esaminare il file stesso e cercare Revision-number: per vedere quali modifiche sono in realtà in esso.

Personalmente, mi piacerebbe discarica di nuovo. Io suggerisco la risposta più likley è la vostra discarica originale non è stato completato correttamente - hai visto eventuali errori nella riga di comando dopo la ran discarica? Se si vuole andare ispezionare la discarica stessa, dare un'occhiata a questo per un po 'di aiuto: http://www.troyhunt.com/2009/12/black-art-of-splitting-subversion.html

L'altra cosa che si potrebbe prendere in considerazione è quello giusto per trasferire il repo originale nel percorso di destinazione. Sarete copia una versione compressa dei tuoi dati in modo che il processo sarà più veloce di copia di una discarica (non so se si zippato prima di trasferire).

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