Domanda

abbiamo una abbastanza grande repository SVN (50 GB, Oltre 100000 revisioni).Lavorare con lui è piuttosto lenta e la mia ipotesi è che la ragione di questo è la struttura di directory in db/numero di giri e db/revprops (Dove ogni revisione è un file).

Usiamo il FSFS formato con SVN 1.5 (Su un server linux), ma la repo è stato creato con una vecchia versione SVN.Ora ho letto che SVN 1.5 supporta "sharding" e ho capito che questa funzione distribuisce le revisioni in più directory in una singola cartella non contiene così tanti file.Questo sembra abbastanza utile, ma purtroppo sembra che questa funzione viene utilizzata solo con i repository che sono appena creato con SVN 1.5.

Come posso convertire un grande lineare esistente repo a una sharded repo?Il manuale cita lo strumento "fsfs-reshard.py" ma questo script dice "Questo script è finito e non è pronto per essere utilizzato su dati in tempo reale.Fiducia in noi.".Così ho sicuramente non si desidera utilizzare.C'è un alternativa?

È stato utile?

Soluzione

Il modo migliore è come detto cylcle dump / load. Ma si può provare la aggiornamento .

svnadmin upgrade

Fare una copia del vostro repo primo tentativo l'aggiornamento e il test è .... (non mancate di fare un backup).

Altri suggerimenti

Sarà un svnadmin dump e svnadmin load fare il trucco? http://subversion.apache.org/faq.html#dumpload

Perché dump/restore processo richiede un sacco di spazio su disco e tempo di elaborazione, che ho pubblicato (nel 2010) una versione migliorata di fsfs-reshard.py che include il supporto per Subversion 1.6 FSFS formato 5:https://github.com/ymartin59/svn-fsfs-reshard

Supporta passare lineare per sharded layout, disimballaggio schegge quando richiesto.Grazie a scheggia statistiche di calcolo, si può anticipare al sacco revisione dimensioni la scelta del tipo appropriato shard dimensioni.

Certo che deve essere usato con cura:

  • Prima procedura di prova su una copia del repository, se possibile
  • Ottenere una copia di backup pronta per essere restaurata
  • Impedire l'accesso al repository durante l'elaborazione
  • Eseguire svnadmin verify prima di metterlo in diretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top