Domanda

Ho intenzione di essere sempre un po 'di spazio sul server di dimensione arbitraria, ed avere accesso ssh ad esso di creare un repository Subversion.

Ma, non ho idea di quanto spazio per chiedere. Per ora, sta andando ad ospitare il mio progetto CMS in modo che il mio collega può contribuire al codice pure. Ma se si arriva da nessuna parte, speriamo di espandere il sistema, forse messo molti progetti in pronti contro termine.

Sarà contiene PHP e altri codici basati sul web, così come diverse immagini. Quanto costa una buona quantità di spazio senza strafare? 20mb? 200MB?

È stato utile?

Soluzione

Considerando un tipico web-progetto con un paio di immagini e PDF da scaricare può avere una dimensione di 20 MB di per sé, avrete bisogno di più di questo, se si desidera memorizzare la cronologia SVN.

Per esempio, sul mio personnal server SVN, per un web-progetto di (il mio blog, che non è quello grande) , il repository SVN ha una dimensione di 181 MB - e non ci sono più di 150 revisioni o in modo (ho smesso di usare SVN per quel progetto) .

Un altro (più piccolo: quasi nessun file binario come le immagini, e il quadro è collegata tramite svn:externals). pet-progetto con circa 100 revisioni ha una dimensione repository di 49MB

E ancora un altro progetto (piccolo sito, solo un paio di revisioni, in quanto è un sito web che non sostengo più, e per il quale ho appena SVN mio server SVN come Meccanismo di backup) ha una dimensione repository di 22M; considerando il progetto, qualcosa di più piccolo sembrerebbe strano ...

Quindi, per un progetto decente, diverse centinaia di MB sarà probabilmente necessario un giorno o l'altro, soprattutto se ci sono un paio di diversi sviluppatori.

Altri suggerimenti

Dipende dalle dimensioni del progetto. Ovviamente, è necessario almeno tanto spazio come dimensione del progetto. Sarà quindi necessario più spazio per memorizzare i cambiamenti che SVN registra.

Con il costo dello spazio in questi giorni, perché sei preoccupato con oltre farlo? Basta buttare un paio di concerti a esso.

Ottenere la dimensione di una revisione completa e riempire questo nella prossima formula:

TotalSize = OneRevisionSize * (n * 1.09)

Dove n è la quantità prevista di revisioni. (Se non avete idea, utilizzare 1000 come n) Ogni tralcio che deve essere ricalcolata in modo esclusivo con la stessa formula. Per ogni tag deve essere la stessa dimensione riservato come una revisione.

Se tutto quello che sarà avere nel repository è il testo, non si ottiene molto grande. Subversion è molto bravo a compressione delta con il testo e non duplica gli oggetti con rami, i tag, e si fonde se sono fatte in modo corretto.

Tuttavia, se siete alla memorizzazione di grandi file binari che cambiano nel tempo, specialmente i file precompresse come immagini o video, il repository crescerà rapidamente. Anche se il check-in eseguibili compilati, le classi Java, assembly .NET, che in realtà variano un po 'anche con solo una piccola modifica del codice sorgente. Subversion cerca ancora di fare la compressione delta su questi file pure, ma cambiano così tanto a livello di byte dalla revisione a revisione non può fare molto se non altro.

Abbiamo due pronti contro termine per un grande progetto ... repo "fonte" è solo poche centinaia di MB, nonostante più di 40000 file e 20000 revisioni con un sacco di rami e unioni. Ha solo i file di testo per la maggior parte, o le immagini immutabili. Il pronti contro termine "costruito" per questo stesso progetto è quasi 10 GB di dimensione, perché controlliamo in file costruite Java .class (e in alcuni casi tutto il JAR e file EAR). Noi manteniamo il repo "costruito" per la distribuzione veloce e rollback (non vogliamo avere a che fare una generazione da fonte di ripristinare una buona versione in caso di emergenza).

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