Ho inviato la stessa domanda agli utenti @@ subversion.sapache.org e ho ricevuto questa risposta da B Smith-Mannschott - che spiega tutto. Ho una directory nel percorso che contiene 16000 cartelle - per ogni commit. Grazie B Smith-Mannschott per la risposta dettagliata. Pubblicando la risposta qui per il beneficio di altre persone.
Il repository contiene una directory con molte voci? Sono le modifiche che producono i grandi commit effettuati in o sotto tale una directory?
Supponiamo di assegnare un'unica modifica a un singolo file nel repository . Diamo inoltre assumere il file si trova qui, nella vostra repository:
/project/trunk/some-really-large-directory/notes/blah.txt
Quando si impegnano la modifica blah.txt, la nuova revisione riscriverà i nodi di directory tra "blah.txt" e la radice del repository: /project/trunk/some-really-large-directory/notes, /project/trunk/some-really-large- directory,/project/trunk,/project, /. Durante la riscrittura di un nodo di directory, FSFS memorizza sempre la nuova versione nella sua interezza. (Questo è diverso dal modo in cui le modifiche ai file sono memorizzati, che sono generalmente le differenze a qualche versione precedente del lo stesso file.)
Se/progetto/trunk/some-davvero-grande-directory/contiene, Dite 10000 file , quindi ogni commit su blah.txt memorizzerà una copia completa di questa directory (con i suoi 10.000 nomi) nel vostro repository.
Ho notato questo quando ho iniziato a tenere un wiki personale sotto il controllo della versione alcuni anni fa. Era una directory piatta di oltre 10.000 file di testo . Ho subito notato che i commit erano piuttosto grandi. (Da allora ho passato a git per quel compito, per questo e per altri motivi.)
vedo anche http://svn.apache.org/repos/asf/subversion/trunk/notes/subversion-design.html#server.fs.struct.bubble-up
fonte
2010-10-13 14:51:18
Più dati necessari: OS, SVN versione, Repobackend .. –
OS Version: 5.10 Sparc Svn versione: 1.5.4 Accesso client svn utilizzando le librerie svn python. –