Svenska ▾ Topics ▾ Latest version ▾ git-index-pack last updated in 2.52.0

NAMN

git-index-pack - Skapa pack-indexfiler för ett befintligt packat arkiv

SYNOPSIS

git index-pack [-v] [-o <index-fil>] [--[no-]rev-index] <pack-fil>
git index-pack --stdin [--fix-thin] [--keep] [-v] [-o <index-fil>]
		  [--[no-]rev-index] [<pack-fil>]

BESKRIVNING

Läser ett packat arkiv (.pack) från den angivna filen, skapar en packindexfil (.idx) för den och skriver eventuellt ett omvänt-index (.rev) för det angivna paketet. Det packade arkivet, tillsammans med packindexet, kan sedan placeras i katalogen objects/pack/ i ett Git-kodförråd.

ALTERNATIV

-v

Var utförlig om vad som händer, inklusive status för framsteg.

-o <index-fil>

Skriv det genererade paketindexet i den angivna filen. Utan detta alternativ konstrueras namnet på paketindexfilen från namnet på den packade arkivfilen genom att ersätta .pack med .idx (och programmet misslyckas om namnet på det packade arkivet inte slutar med .pack).

--rev-index
--no-rev-index

När denna flagga anges, generera ett omvänt index (en .rev-fil) som motsvarar det givna paketet. Om --verify anges, se till att det befintliga omvända indexet är korrekt. Har företräde framför pack.writeReverseIndex.

--stdin

När denna flagga anges, läses paketet från stdin istället och en kopia skrivs sedan till <pack-fil>. Om <pack-fil> inte anges skrivs paketet till objects/pack/-katalogen i det aktuella Git-arkivet med ett standardnamn som bestäms utifrån paketinnehållet. Om <pack-fil> inte anges, överväg att använda --keep för att förhindra ett kapplöpningstillstånd (race condition) mellan denna process och git repack.

--fix-thin

Åtgärda ett "tunt" paket som produceras av git pack-objects --thin (se git-pack-objects[1] för detaljer) genom att lägga till de exkluderade objekten som de deltifierade objekten är baserade på i paketet. Det här alternativet är bara meningsfullt i samband med --stdin.

--keep

Innan indexet flyttas till dess slutdestination, skapa en tom .keep-fil för den associerade packfilen. Detta alternativ är vanligtvis nödvändigt med --stdin för att förhindra att en samtidig git repack-process tar bort det nykonstruerade paketet och indexet innan referenser kan uppdateras för att använda objekt som finns i paketet.

--keep=<medd>

Precis som med --keep, skapa en .keep-fil innan du flyttar indexet till dess slutdestination. Men istället för att skapa en tom fil, placera <medd> följt av ett LF i .keep-filen. Meddelandet <medd> kan senare sökas efter i alla .keep-filer för att hitta de som inte längre är användbara.

--index-version=<version>[,<offset>]

Detta är endast avsett att användas av testsviten. Det gör det möjligt att tvinga fram versionen för det genererade paketindexet och att tvinga fram 64-bitars indexposter på objekt som finns ovanför den givna offseten.

--strict[=<msg-id>=<severity>…​]

Dö, om paketet innehåller trasiga objekt eller länkar. En valfri kommaseparerad lista med <msg-id>=<svårighetsgrad> kan skickas för att ändra allvarlighetsgraden av vissa möjliga problem, t.ex. --strict="missingEmail=ignore,badTagName=error". Se posten för konfigurationsalternativen fsck.<msg-id> i git-fsck[1] för mer information om de möjliga värdena för <msg-id> och <svårighetsgrad>.

--progress-title

Endast för internt bruk.

Ange titeln på förloppsindikatorn. Titeln är "Mottar objekt" som standard och "Indexerar objekt" när --stdin anges.

--check-self-contained-and-connected

Dö om paketet innehåller trasiga länkar. Endast för internt bruk.

--fsck-objects[=<msg-id>=<severity>…​]

Dö om paketet innehåller trasiga objekt, men till skillnad från --strict, kvävs inte trasiga länkar. Om paketet innehåller ett träd som pekar på en .gitmodules-blob som inte existerar, skrivs hashen för den blobben ut (för att anroparen ska kunna kontrollera den) efter hashen som ingår i namnet på pack-/idx-filen (se "Anteckningar").

En valfri kommaseparerad lista med <msg-id>=<svårighetsgrad> kan skickas för att ändra allvarlighetsgraden av vissa möjliga problem, t.ex. --fsck-objects="missingEmail=ignore,badTagName=ignore". Se posten för konfigurationsalternativen fsck.<msg-id> i git-fsck[1] för mer information om de möjliga värdena för <msg-id> och <svårighetsgrad>.

--threads=<n>

Anger antalet trådar som ska skapas vid upplösning av delta. Detta kräver att index-pack kompileras med pthreads, annars ignoreras detta alternativ med en varning. Detta är avsett att minska packningstiden på maskiner med flera processorer. Den erforderliga mängden minne för delta-sökfönstret multipliceras dock med antalet trådar. Om du anger 0 kommer Git att automatiskt upptäcka antalet processorer och använda maximalt 3 trådar.

--max-input-size=<storlek>

Dö, om paketet är större än <storlek>.

--object-format=<hash-algoritm>

Ange det givna objektformatet (hashalgoritmen) för paketet. Giltiga värden är sha1 och (om aktiverat) sha256. Standardvärdet är algoritmen för det aktuella kodförrådet (inställt av extensions.objectFormat), eller sha1 om inget värde är angivet eller ligger utanför ett kodförråd.

Det här alternativet kan inte användas med --stdin.

Obs: För närvarande finns det ingen interoperabilitet mellan SHA-256-kodförråd och SHA-1-kodförråd.

Historiskt sett varnade vi för att SHA-256-kodförråd senare kan behöva bakåtinkompatibla ändringar när vi introducerar sådana interoperabilitetsfunktioner. Idag förväntar vi oss bara kompatibla ändringar. Dessutom, om sådana ändringar visar sig vara nödvändiga, kan man förvänta sig att SHA-256-kodförråd som skapats med dagens Git kommer att kunna användas av framtida versioner av Git utan dataförlust.

--promisor[=<meddelande>]

Innan beslutet att spara pack-index, skapa en .promisor-fil för detta paket. Detta är särskilt användbart när du skriver ett löftesgivare-paket med --fix-thin eftersom namnet på paketet inte är slutgiltigt förrän paketet har skrivits helt. Om ett <meddelande> anges kommer det innehållet att skrivas till .promisor-filen för framtida referens. Se partial clone för mer information.

Also, if there are objects in the given pack that references non-promisor objects (in the repo), repacks those non-promisor objects into a promisor pack. This avoids a situation in which a repo has non-promisor objects that are accessible through promisor objects.

Kräver att <pack-fil> inte anges.

NOTERINGAR

När indexet har skapats skrivs hashen som ingår i namnet på pack/idx-filen ut till stdout. Om --stdin också användes prefixeras detta av antingen "pack\t" eller "keep\t" om en ny .keep-fil skapades. Detta är användbart för att ta bort en .keep-fil som används som ett lås för att förhindra kapplöpningen med git repack som nämns ovan.

GIT

En del av git[1]-sviten