Git
Português (Brasil) ▾Topics ▾Latest version ▾ git-index-pack last updated in 2.44.0

NOME

git-index-pack - Construa um pacote do arquivo do índice para um arquivo compactado já existente

RESUMO

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

DESCRIÇÃO

Faz a leitura de um arquivo compactado (.pack) do arquivo informado e cria um pacote do arquivo do índice (.idx) para ele e opcionalmente escreve um índice reverso(.rev) para o pacote informado. O arquivo compactado junto com o pacote do índice, pode ser colocado no diretório objects/pack/ de um repositório Git.

OPÇÕES

-v

Seja detalhado sobre o que está acontecendo, incluindo a condição geral do progresso.

-o <arquivo-índice>

Escreva o índice do pacote gerado no arquivo especificado. Sem essa opção, o nome do arquivo do pacote do arquivo do índice é construído a partir do nome do arquivo compactado substituindo .pack por .idx (e o programa falha caso o nome do arquivo compactado não termine com .pack).

--[no-]rev-index

Quando este sinalizador for informado, gere um índice reverso (um arquivo .rev) correspondente ao pacote informado. Caso --verify seja usado, certifique-se que o índice reverso existente esteja correto. Tem precedência sobre pack.writeReverseIndex.

--stdin

Quando esta opção é informada, o pacote é lido a partir do stdin e uma cópia é gravada no <pack-file>. Caso o <pack-file> não seja informado, o pacote será gravado no diretório objects/pack/ do repositório Git atual com um nome predefinido determinado através do conteúdo do pacote. Caso o <pack-file> não seja informado, considere utilizar a opção --keep para evitar uma condição de corrida entre este processo e o git repack.

--fix-thin

Corrija um pacote "thin" produzido por git pack-objects --thin (para mais detalhes, consulte git-pack-objects[1]) adicionando os objetos excluídos nos quais os objetos "deltificados" utilizam como base no pacote. Esta opção só faz sentido caso seja utilizado em conjunto com --stdin.

--keep

Antes de mover o índice para seu destino final, crie um arquivo .keep vazio para o arquivo do pacote associado. Essa opção geralmente é necessária com --stdin para impedir que um processo simultâneo do git repack exclua o pacote e o índice recém-construídos antes que as refs possam ser atualizadas para utilizar os objetos existentes no pacote.

--keep=<msg>

Assim como a opção --keep, crie um arquivo .keep antes de mover o índice para seu destino final. Contudo, em vez de criar um local do arquivo vazio <msg>, seguido de um LF no arquivo .keep. A mensagem <msg> pode ser pesquisada posteriormente em todos os arquivos .keep para localizar qualquer um que tenha perdido a sua utilidade.

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

Isso foi pensado para ser utilizado apenas pelo conjunto de testes. Ele permite impor a versão do índice do pacote gerado e impor as entradas no índice com 64 bits nos objetos localizados acima da compensação informada.

--strict

Encerre, caso o pacote contenha objetos ou links quebrados.

--progress-title

Apenas para uso interno.

Defina o título da barra de progresso. O título predefinido é "Receber objetos" e "Indexar objetos" quando a opção --stdin for usada.

--check-self-contained-and-connected

Encerre caso o pacote contenha links quebrados. Apenas para utilização interna.

--fsck-objects

Apenas para uso interno.

O processo é encerrado caso o pacote contenha objetos quebrados. Caso o pacote contiver uma árvore apontando para uma bolha ".gitmodules" que não exista, imprima o hash desta bolha (para que o requerente o verifique) após o hash que vai para o nome do arquivo pack/idx (consulte "Notas").

--threads=<n>

Determina a quantidade de "threads" a serem geradas para resolver os deltas. Isso requer que os objetos do pacote sejam compilados com "pthreads", caso contrário esta opção será ignorada exibindo um aviso. Isso visa reduzir o tempo do empacotamento em máquinas com multiprocessados. A quantidade de memória necessária para a janela de pesquisa delta é multiplicada pela quantidade de threads. Definindo como 0 faz com que o Git detecte automaticamente a quantidade de CPUs e defina a quantidade de "threads" proporcionalmente e utiliza o máximo de 3 "threads".

--max-input-size=<tamanho>

Encerre caso o pacote seja maior que <tamanho>.

--object-format=<hash-algorithm>

Defina o formato do objeto informado (algoritmo hash) para o pacote. Os valores válidos são sha1 e (se ativado) sha256. A predefinição é o algoritmo para o repositório atual (definido através da opção extensions.objectFormat) ou sha1 caso nenhum valor seja definido dentro ou fora do repositório.

Esta opção não pode ser utilizada com --stdin.

Observação: No momento, não há interoperabilidade entre os repositórios SHA-256 e os repositórios SHA-1.

Alertamos no passado que os repositórios SHA-256 podem exigir alterações incompatíveis com versões anteriores quando implementamos estes recursos de interoperabilidade. Hoje, esperamos apenas alterações compatíveis. Além disso, se essas alterações forem necessárias, pode-se esperar que os repositórios SHA-256 criados com o Git atual possam ser usados por versões futuras do Git sem perda de dados.

--promisor[=<mensagem>]

Antes fazer o commit do índice do pacote, crie um arquivo .promisor para este pacote. É particularmente útil ao escrever um pacote promissor com a opção --fix-thin já que o nome do pacote não é definitivo até que o pacote tenha sido totalmente escrito. Caso uma <menssagem> seja fornecida, esse conteúdo será gravado no arquivo .promisor para uma referência futura. Consulte o clone parcial para obter mais informações.

OBSERVAÇÕES

Depois que o índice é criado, o hash que vai para o nome do arquivo pack/idx é gerado no stdout. Caso a opção --stdin também tenha sido usado, ele será prefixado por "pack\t" ou "keep\t" se um novo arquivo .keep tiver sido criado com êxito. Isso é útil para remover um arquivo .keep usado como um bloqueio para evitar a corrida com o git repack mencionada acima.

GIT

Parte do conjunto git[1]

scroll-to-top