English ▾ Themen ▾ Neueste Version ▾ git-multi-pack-index zuletzt aktualisiert in 2.52.0

NAME

git-multi-pack-index - Multi-Pack-Indexes schreiben und verifizieren

SYNOPSIS

git multi-pack-index [--object-dir=<dir>] [--[no-]bitmap] <sub-command>

BESCHREIBUNG

Schreibt oder verifiziert eine Multi-Pack-Index (MIDX) Datei.

OPTIONEN

--object-dir=<dir>

Verwendet das angegebene Verzeichnis für den Speicherort von Git-Objekten. Wir prüfen <dir>/packs/multi-pack-index auf die aktuelle MIDX-Datei und <dir>/packs auf die zu indizierenden Pack-Dateien.

<dir> muss ein Alternate des aktuellen Repositorys sein.

--progress
--no-progress

Fortschritt explizit ein- oder ausschalten. Wenn keiner der beiden angegeben ist, wird der Fortschritt angezeigt, wenn Standardfehler mit einem Terminal verbunden ist. Unterstützt von den Unterbefehlen write, verify, expire und repack.

Die folgenden Unterbefehle sind verfügbar

write

Schreibt eine neue MIDX-Datei. Die folgenden Optionen sind für den Unterbefehl write verfügbar

--preferred-pack=<pack>

Wenn angegeben, werden bei zusätzlichen Kopien von Objekten in anderen Packs die Entscheidungen zugunsten dieses Packs getroffen. Bei Objekten, die nicht im bevorzugten Pack gefunden werden, wird die Entscheidung immer zugunsten der Kopie im Pack mit der höchsten mtime getroffen. Wenn nicht angegeben, wird standardmäßig das Pack mit der niedrigsten mtime verwendet. Das bevorzugte Pack muss mindestens ein Objekt enthalten.

--[no-]bitmap

Steuert, ob ein Multi-Pack-Bitmap geschrieben wird oder nicht.

--stdin-packs

Schreibt einen Multi-Pack-Index, der nur die Menge der zeilengetrennten Basisnamen von Pack-Indizes enthält, die über stdin bereitgestellt werden.

--refs-snapshot=<path>

Mit --bitmap kann optional eine Datei angegeben werden, die einen "refs snapshot" enthält, der vor dem Repacking aufgenommen wurde.

Ein Referenz-Snapshot besteht aus zeilengetrennten OIDs, die auf die Spitzen der Referenzen verweisen. Er wird normalerweise von git repack vor der Generierung eines neuen Packs aufgenommen. Eine Zeile kann optional mit einem +-Zeichen beginnen, um anzuzeigen, dass die Referenz, die dieser OID entspricht, "bevorzugt" ist (siehe git-config[1]'s pack.preferBitmapTips).

Die unter <path> angegebene Datei wird als lesbar erwartet und kann Duplikate enthalten. (Wenn eine gegebene OID mehr als einmal vorkommt, wird sie als bevorzugt markiert, wenn mindestens eine Instanz davon mit dem speziellen +-Marker beginnt).

--incremental

Schreibt eine inkrementelle MIDX-Datei, die nur Objekte und Packs enthält, die in einer bestehenden MIDX-Schicht nicht vorhanden sind. Migriert nicht-inkrementelle MIDXs bei Bedarf zu inkrementellen. Inkompatibel mit --bitmap.

verify

Verifiziert den Inhalt der MIDX-Datei.

expire

Löscht die Pack-Dateien, die von der MIDX-Datei verfolgt werden, aber keine von der MIDX referenzierten Objekte haben (mit Ausnahme von .keep Packs und Cruft Packs). Schreibt die MIDX-Datei anschließend neu, um alle Referenzen auf diese Pack-Dateien zu entfernen.

Hinweis
Dieser Modus ist inkompatibel mit inkrementellen MIDX-Dateien.
repack

Erstellt eine neue Pack-Datei, die Objekte aus kleinen Pack-Dateien enthält, auf die durch den Multi-Pack-Index verwiesen wird. Wenn die durch das Argument --batch-size=<size> angegebene Größe Null ist, wird ein Pack erstellt, das alle vom Multi-Pack-Index referenzierten Objekte enthält. Bei einer nicht-null Batch-Größe werden die Pack-Dateien ausgewählt, indem die Packs von ältesten zu neuesten untersucht werden. Die "erwartete Größe" wird berechnet, indem die Anzahl der Objekte im Pack, auf die durch den Multi-Pack-Index verwiesen wird, gezählt und durch die Gesamtzahl der Objekte im Pack geteilt und mit der Pack-Größe multipliziert wird. Wir wählen Packs mit einer erwarteten Größe unter der Batch-Größe aus, bis die Menge der Packs eine erwartete Gesamtgröße von mindestens der Batch-Größe erreicht oder alle Pack-Dateien berücksichtigt wurden. Wenn nur eine Pack-Datei ausgewählt wird, geschieht nichts. Wenn eine neue Pack-Datei erstellt wird, wird der Multi-Pack-Index neu geschrieben, um auf die neue Pack-Datei zu verweisen. Ein späterer Lauf von git multi-pack-index expire löscht die Pack-Dateien, die Teil dieses Batches waren.

Wenn repack.packKeptObjects auf false gesetzt ist, werden Pack-Dateien mit einer zugehörigen .keep-Datei nicht für den Batch zum Repacken ausgewählt.

Hinweis
Dieser Modus ist inkompatibel mit inkrementellen MIDX-Dateien.

BEISPIELE

  • Schreibt eine MIDX-Datei für die Pack-Dateien im aktuellen .git-Verzeichnis.

    $ git multi-pack-index write
  • Schreibt eine MIDX-Datei für die Pack-Dateien im aktuellen .git-Verzeichnis mit einem entsprechenden Bitmap.

    $ git multi-pack-index write --preferred-pack=<pack> --bitmap
  • Schreibt eine MIDX-Datei für die Pack-Dateien in einem alternativen Objektspeicher.

    $ git multi-pack-index --object-dir <alt> write
  • Verifiziert die MIDX-Datei für die Pack-Dateien im aktuellen .git-Verzeichnis.

    $ git multi-pack-index verify

SIEHE AUCH

Weitere Informationen zum Multi-Pack-Index-Feature und seinem Dateiformat finden Sie in The Multi-Pack-Index Design Document und gitformat-pack[5].

GIT

Teil der git[1] Suite