Ich habe ein großes Git Repository mit 17 Jahren Geschichte. Nach der Konvertierung mit svn2git mache ich normalerweise ein 'git repack -a -d -f'. Das sagt 'nichts neues zu packen'. Dann, wenn ich es auf den Server (in meinem Fall Bit Bucket) schieben, und dann das Repository auf dem Server suchen und neu packen, repliziert es das gesamte Repository. Ich würde gerne in der Lage sein, das ganze Repo wenn immer möglich neu zu packen. Ich kann nicht herausfinden, was die Änderungen zwischen dem Drücken auf den Server sind, der das Umpacken ermöglicht. Beachten Sie, dass am Repository zwischen dem Client und dem Server keine Änderungen vorgenommen werden.Warum sagt 'git repack' manchmal 'Nichts neues zum packen'. und manchmal packt es alles (ohne Änderungen am Repo)?
Antwort
Der Ausgang Sie kommt aus these source lines sehen:
if (!names.nr && !quiet)
printf("Nothing new to pack.\n");
Hier names.nr
ist die Zahl der SHA-1-ID Zeilen liest aus dem git pack-objects
Befehl, wenn sie mit den berechneten in den argv und Umgebung zur Verfügung gestellt Argumenten lief früher in demselben Code.
Was passiert in diesem Fall ist, dass was auch immer svn2git
Dienstprogramm Sie verwenden, baut eine einzelne Pack-Datei, und aus welchem Grund auch immer, git pack-objects
wählt diese Datei allein zu lassen.
Was ich nicht erklären kann ist, warum -a -d -f
kein Repack erzwingen, weil es sollte. Der Befehl git pack-objects
sollte eine neue Paketdatei mit neuer Komprimierung generiert haben. (Ich nehme an, eine Möglichkeit ist, dass git pack-objects
einfach ganz auf Ihrem speziellen System versagt, aber dann sollten Sie sich darüber ebenfalls beschweren.)
- 1. Warum wirft `.asInstanceOf 'manchmal und manchmal nicht?
- 2. Manchmal wird keine gedruckt - und manchmal nicht, warum nicht?
- 3. Warum Git sagt "nichts zu begehen"
- 4. NullPointerException, manchmal wird es ausgeführt und manchmal löst es Ausnahme
- 5. Warum fehlen in geklonten Repos manchmal .git/hooks?
- 6. Task manchmal starten, manchmal nicht, warum? Wie man es ändert?
- 7. Warum zeigt eine EntityCollection manchmal Erweiterungsmethoden an und manchmal nicht?
- 8. JavaScript und warum Großbuchstaben manchmal arbeiten und manchmal nicht
- 9. Warum funktioniert dieser URLClassLoader manchmal und manchmal nicht?
- 10. AsyncTask funktioniert manchmal und manchmal nicht
- 11. Manchmal bieten Option zum Installieren von Flash und manchmal nicht
- 12. Warum funktioniert dieser Code manchmal und manchmal nicht?
- 13. Seltsame Fehler-manchmal zeigt es und manchmal nicht
- 14. Warum verwende ich manchmal | und manchmal || für "oder" in MATLAB?
- 15. Warum macht Xcode manchmal etwas Lila und manchmal Schwarz?
- 16. PyCharm Run --- Warum zeigt es manchmal eine Rückverfolgung und Fehler und manchmal nicht?
- 17. Python - Parameter manchmal ja und manchmal nein
- 18. Java GUI kompiliert ohne Fehler, aber manchmal zeigt nichts
- 19. CFWriteStreamScheduleWithRunLoop funktioniert manchmal, manchmal nicht?
- 20. Warum funktionieren Onchange und Onblur nur manchmal?
- 21. C-Programm stürzt manchmal und manchmal nicht
- 22. Ajax manchmal läuft manchmal nicht
- 23. Scrapy Crawler instabil, manchmal funktioniert manchmal nicht
- 24. Zeit funktioniert manchmal manchmal nicht
- 25. Warum wird getLocalhost() manchmal eingefroren?
- 26. Bild-Rendering-Wert wird manchmal aktualisiert und manchmal nicht
- 27. Unit-Tests manchmal fehlgeschlagen, manchmal vorbei
- 28. Firebase und Angular funktioniert manchmal?
- 29. Winkelmesser sendKeys sendet manchmal nichts an Textbox
- 30. Warum Rancher-Dienst manchmal getrennt?
Meinst du, es druckt 'nichts neues zu verpacken.'? – torek
Tritt ein spezifisches Problem auf, das Sie dazu auffordert, Ihr Repository neu zu packen? Normalerweise wird dies automatisch erledigt. – LightBender
Das Repo ist ziemlich groß> 3,4 GB, Verpackung und Müllsammlung rasieren 1GB von der Größe des Repos. Das Umpacken verbessert die Klonzeiten und verbessert die Leistung des Bit-Buckets, wenn das Repo im Webbrowser gerendert wird. – eeijlar