Il pacchetto svnadmin funziona su repository 1.6 non aggiornati?
Domanda
Ho tentato di eseguire il pacchetto svnadmin sui repository originariamente creati con SVN 1.6. Tuttavia, non vedo alcun output che suggerisca che il comando stia facendo qualcosa. È il caso che il pacchetto di frammenti si verifichi automaticamente per i repository 1.6 nativi (anziché su richiesta per i repository aggiornati)? L'output che mi aspetto di vedere è:
$ svnadmin pack /var/svn/repos
Packing shard 0...done.
Packing shard 1...done.
Packing shard 2...done.
…
Packing shard 34...done.
Packing shard 35...done.
Packing shard 36...done.
$
Comunque sto solo vedendo:
$ svnadmin pack /var/svn/repos
$
Il repository che sto cercando di impacchettare ha 16 revisioni e lo sto usando come repository di prova in vista di impacchettare altri repository con > 1000 giri
Soluzione
L'imballaggio funziona solo su gruppi di 1000 revisioni (o qualunque sia la dimensione del tuo frammento). Se hai solo 16 revisioni, il frammento è ancora attivo e non può essere compresso.
Dopo aver ottenuto > 1000 revisioni, puoi impacchettare il primo frammento.
Dopo 2000 revisioni, puoi impacchettare il frammento successivo e così via.
Una descrizione più completa è disponibile in questa parte delle note di rilascio .
Oh, e per rispondere effettivamente alla tua domanda, non è automatico, dovrai eseguire " svnadmin pack " manualmente ogni volta che vuoi impacchettare i vecchi frammenti pieni che non sono stati ancora impacchettati.
Altri suggerimenti
La mia interpretazione di documentazione , in particolare questa riga
Subversion può impacchettare esistenti archivi frammentati che sono stati aggiornati alla versione 1.6 formato del filesystem (enfasi mio)
è che devi solo eseguire pack
su repository creati prima della 1.6. Quindi penso che pack
non avrà alcun effetto sul tuo repository 1.6 nativo.