In unserem Projekt haben wir die Entscheidung getroffen, die Build-Zeit durch Verwendung vordefinierter Binärdateien zu reduzieren. Wöchentlich/monatlich erstellen wir eine stabile Version und binden sie an das Repository. Der Build verwendet diese Binärdateien, anstatt alles aus der Quelle zu erstellen.Reduzieren der Größe des .svn-Ordners
Für Build-Geschwindigkeit ist das fantastisch. Aber es überrascht nicht, dass es wirklich die SVN-Checkout-Größe aufbläht. Unser Kofferraum befindet sich derzeit bei ~ 22 GB. Mir ist klar, dass dies nicht die beabsichtigte Verwendung von Subversion ist. Aber wir haben im Moment keine Alternative.
Aber ich möchte die aktuelle Situation verbessern. Der Ordner .svn
trägt erheblich zur Größe des Trunks auf der Festplatte bei. Wenn die Binärdateien aktualisiert werden, scheint es mehrere Basen im .svn-Ordner zu behalten. Das heißt, wenn eine Binärdatei 4 GB ist, gibt es eine Kopie in der .svn
. Wenn es aktualisiert wird, dann enthält der Ordner .svn
die ursprüngliche Basis plus die neue Basis und bulks bis zu 8 GB für diese eine Datei.
Ist es möglich, Subversion zu sagen, keine Basis im Ordner .svn
für bestimmte Dateien zu halten? Durch Google fand ich eine ähnliche Frage, How to decrease .svn folder size?.
Die Antwort Simon erhielt, war
- Verwenden Sie einen Teil-Kasse (die nicht für mich arbeiten, wie ich die Binärdateien benötigen)
- Dies ist noch nicht eine Funktion von Subversion
- diskutiert wurde , wird aber kein Merkmal, bis mindestens Subversion 1,8
zum Glück für mich seine Subversion 1.8 ist erschienen. Wurde diese Funktion hinzugefügt?
Ich habe es in the release notes nicht bemerkt. "Directory and property storage reduction" sieht vielversprechend aus.
Dies ist nicht wirklich, wo Subversion glänzt - Sie sollten in Artefakt oder Nexus suchen, um die Artefakte zu speichern und sie mit Ihrem Build-Skript auflösen (abholen). – thekbb
Leider wussten wir das. Aber es ist einfach so bequem, Svn zu verwenden. In der Vergangenheit haben wir bei einem anderen Projekt Maven eingesetzt. Aber anscheinend hat das einen schlechten Geschmack im Mund vieler Leute hinterlassen. Als nächstes kam ein benutzerdefiniertes Tool, das ich nur als Maven beschreiben kann (aber das löste natürlich alle Probleme von Maven). Auch das hat einen schlechten Geschmack hinterlassen. In unserem neuesten Projekt haben wir gerade svn genutzt. –