2014-11-05 13 views
5

ich mit den Befehlen wie zwischen mehreren Zweigen der Android-Quellcode Schalt wurde:Reduzieren Sie die Größe des Android-Quellcode-Depots .repo Verzeichnisses

war
repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2 
repo sync 

Der jüngste Tag android-5.0.0_r2. Ich habe festgestellt, dass mein .repo-Verzeichnis jetzt 30 GB groß ist. Ist das die erwartete Größe? Wenn nicht, spekuliere ich, dass ich die Historie der anderen Zweige/Tags, die ich verwendet habe, im Verzeichnis .repo gespeichert habe.

Gibt es eine Möglichkeit, die Größe des Verzeichnisses .repo zu reduzieren? Ich möchte nur auf die Quelle/Objekte/Bilder/etc beschränken. Ich brauche für den bestimmten Zweig, an dem ich arbeite. Festplattenspeicher ist mir wichtiger als Downloadzeit.

Ich sehe git gc wird auf. Git-Repositories verwendet, aber das funktioniert in diesem Fall nicht. Gibt es ein Äquivalent für .repo-Repositories?

Hinweis: Ich habe versucht, repo prune, aber das hat nicht die Größe des .repo-Verzeichnisses reduziert.

Antwort

0

Nicht getestet, aber ich denken Sie können Sie den -c Schalter verwenden, um nur die Zweige herunterzuladen, die Sie gerade benötigen.

Mit diesem Flag wird Repo nur die Revision (Zweig) herunterladen, die im Manifest angegeben ist, nicht alle Zweige, die sich auf dem Remote-Server befinden. Dadurch sparen wir viel Platz, und es wird weniger Zeit zum Herunterladen brauchen.

Quelle und weitere Informationen: http://xda-university.com/as-a-developer/repo-tips-tricks

+0

Während das helfen würde, den Platz eines einzelnen Zweigs zu minimieren, glaube ich nicht, dass das hilft, wenn ich mehrere Zweige herunterlade.Ich werde immer noch mit zusätzlichen Inhalten an den Stellen enden, wo sich die Branchen nicht überschneiden. – GrandAdmiral

+1

Ich glaube nicht, dass -c mehr unterstützt wird. In der aktuellen Repoquelle gibt es keinen Hinweis darauf. –

6

Die -c Flagge scheint nicht mehr unterstützt werden, aber hier ist das, was Sie tun können.

Zum Zeitpunkt des Schreibens repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5 erstellt 33GB Wert von Dateien.

Hinzufügen --depth=1 reduziert dies auf 21GB.

Das Hinzufügen von --groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5 zum Ausschließen von Geräten und Komponenten, an denen Sie nicht interessiert sind, reduziert dies auf 19GB.

Nur für den Speicher können Sie die ausgecheckten Dateien für jedes .git-Repository innerhalb von .repo/entfernen, um noch mehr Speicherplatz zu sparen, aber ich bin mir nicht sicher, wie Sie dies skripten können. Wenn Sie dies tun würden, würde repo sync die "fehlenden" Dateien bei Bedarf auschecken.

Als Referenz meine komplette Befehlszeile war
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5 --depth=1 --groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5,mako
so ist dieser Baum nur für das Nexus funktionieren würde 4. Ich habe nicht noch von diesem Baum zu bauen versucht, aber es gibt keinen Grund, warum es nicht funktionieren würde.

Sie könnten auch Projekte entfernen, die Sie nicht verwenden specifying a local manifest, oder arbeiten sogar von einem komprimierten Dateisystem wie Btrfs mit den richtigen Mount-Optionen, aber ich bin mir nicht sicher über die Auswirkungen auf die Leistung.