Frage

Ich werde etwas Platz auf dem Server von beliebiger Größe zu bekommen, und ssh Zugriff darauf gegeben werden, um eine Subversion-Repository einzurichten.

Aber ich habe keine Ahnung, wie viel Platz zu verlangen. Vorerst geht es mein cms Projekt hosten, so dass mein Kollege als auch an den Code beitragen kann. Aber wenn es überall bekommt, hoffen wir auf dem System zu erweitern, möglicherweise viele Projekte in die Repo setzen.

Es wird PHP und andere Web-basierte Codes sowie mehrere Bilder enthalten. Wie viel ist eine gute Menge an Speicherplatz, ohne es zu übertreiben? 20mb? 200mb?

War es hilfreich?

Lösung

Unter Berücksichtigung eines typischen Web-Projekt mit ein paar Bildern und PDF zum Download mit einer Größe von 20 MB für sich allein haben, können Sie mehr als das benötigen, wenn Sie die SVN-Geschichte gespeichert werden sollen.

Zum Beispiel auf meinem personnal SVN-Server, für ein Web-Projekt (mein Blog, das ist nicht so groß) , die SVN-Repository mit einer Größe von 181 MB hat - und es gibt keine mehr als 150 Revisionen oder so (ich habe für dieses Projekt SVN gestoppt verwenden) .

Ein weiterer (kleiner: fast keine Binärdatei wie Bilder, und der Rahmen wird über svn:externals verknüpft). pet-Projekt mit über 100 Revisionen haben eine Repository Größe von 49MB

Und noch ein weiteres Projekt (kleine Webseite, nur ein paar Revisionen, da es eine Website halten wir nicht mehr, und für die ich SVN nur meinen SVN-Server als Backup mecanism) hat eine Repository Größe von 22m; unter Berücksichtigung des Projekts etwas kleiner scheint seltsam ...

Also, für ein ordentliches Projekt mehrere hundert MB wird wahrscheinlich eines Tages oder einer anderen notwendig sein, vor allem wenn es ein paar verschiedene developpers sind.

Andere Tipps

Es hängt von der Projektgröße. Natürlich müssen Sie mindestens so viel Platz wie die Größe des Projekts. Sie werden dann mehr Platz brauchen, um die Änderungen für die Speicherung, dass SVN verfolgt.

Mit den Kosten des Platzes in diesen Tagen, warum sind Sie besorgt mit über es zu tun? Werfen Sie einfach ein paar Gigs in es.

Ermittelt die Größe einer vollständigen Überarbeitung und füllen diese in der nächsten Formel:

TotalSize = OneRevisionSize * (n * 1.09)

wobei n die erwartete Menge von Revisionen. (Wenn Sie keine Ahnung haben, verwenden Sie 1000 als n) Jeder Zweig sollte separat mit der gleichen Formel neu berechnet werden. Für jeden Tag soll die gleiche Größe wie eine Revision reserviert werden.

Wenn alles, was Sie im Repository mit werden Text ist, wird es nicht sehr groß werden. Subversion ist sehr gut bei Delta Kompression mit Text und keine doppelten Objekte mit Zweigen, Tags und verschmilzt, wenn sie richtig gemacht werden.

Wenn Sie jedoch große Binärdateien sind zu speichern, die im Laufe der Zeit ändern, insbesondere vorverdichtete Dateien wie Bilder oder Video, wird das Repository schnell wachsen. Auch wenn Sie in kompilierten ausführbaren Dateien überprüfen, Java-Klassen, .NET-Assemblies, die eigentlich variieren ziemlich viel sogar mit nur einem kleinen Quellcode ändern. Subversion versucht nach wie vor als auch Delta-Komprimierung auf diesen Dateien zu tun, aber sie ändern, so viel auf Byte-Ebene von Revision zu Revision es nicht viel, wenn etwas tun kann.

Wir haben zwei repos für ein großes Projekt ... die „Quelle“ Repo ist nur ein paar hundert MB trotz mehr als 40000 Dateien und 20000 Revisionen mit vielen Niederlassungen und verschmilzt. Es hat nur Textdateien, zum größten Teil oder unveränderliche Bildern. Die „gebaut“ Repo für das gleiche Projekt ist fast 10 GB groß, weil wir in eingebauten Java Class-Dateien (und in einigen Fällen ganze JAR und EAR-Dateien) zu überprüfen. Wir halten die „gebaut“ Repo für den schnellen Einsatz und Rollbacks (wir wollen nicht einen Build von der Quelle zu tun zu haben, wieder in eine gute Version in einem Notfall zu rollen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top