Git
Português (Brasil) ▾Topics ▾Latest version ▾ git-patch-id last updated in 2.39.0

NOME

git-patch-id - Calcula o ID exclusivo de um patch

RESUMO

git patch-id [--stable | --unstable | --verbatim]

DESCRIÇÃO

Carregue um patch da entrada padrão e calcule o ID para ele.

Um "patch ID" nada mais é do que uma soma de SHA-1 das diferenças de arquivo associadas a uma correção, ignorando os números de linha. Dessa maneira, ele é "razoavelmente estável", mas ao mesmo tempo também é razoavelmente exclusivo, ou seja, duas correções que tenham o mesmo "patch ID" são quase garantidos como sendo a mesma coisa.

O principal caso de uso para este comando é procurar por commits possivelmente duplicados.

Ao lidar com a saída do comando git diff-tree, ele aproveita a vantagem que a correção é prefixado com o nome do objeto do commit e gera duas strings hexadecimais com 40 bytes. A primeira string é o ID da correção e a segunda string é o ID do commit. Isso pode ser usado para fazer um mapeamento do "patch ID" para o ID do commit.

OPÇÕES

--verbatim

Calcule o patch-id da entrada conforme é fornecido, não retire nenhum espaço em branco.

Este é o padrão caso `patchid.verbatim` seja verdadeiro.
--stable

Use uma soma "stable" (estável) de hashes como o ID do patch. Com esta opção:

  • A reordenação das diferenças de arquivos que compõem uma correção não afeta a ID. Especificamente, duas correções produzidos pela comparação das mesmas duas árvores com duas configurações diferentes para "-O<ordem-do-arquivo>" resultam na mesma assinatura ID da correção, permitindo assim que o resultado computado seja usado como uma chave para indexar algumas meta-informações sobre a alteração entre as duas árvores;

  • O resultado é diferente do valor produzido pelo git 1.9 e mais antigo ou produzido quando um hash "instável" (consulte --unstable abaixo) é configurado - mesmo quando utilizado com um diff gerado obtido sem o uso de "-O<ordem-do-arquivo>", tornando, assim, os bancos de dados existentes armazenando esses IDs "instáveis" ou os históricos com correções inúteis.

  • Todos os espaços em branco dentro do patch são ignorados e não afetam o id.

    Esta é a predefinição caso o `patchid.stable` estiver definido como 'true'.
--unstable

Use um hash "instável" como "patch ID". Com esta opção, o resultado produzido é compatível com o valor do "patch-id" produzido pelo git 1.9 e anteriores, e os espaços em branco são ignorados. Os usuários com bancos de dados pré-existentes que armazenam os "patch-ids" produzidos pelo git 1.9 e anteriores (que não lidam com correções reordenadas) podem querer usar essa opção.

Esta é a predefinição.

GIT

Parte do conjunto git[1]

scroll-to-top