Bandeira do Git 2.43
Após três meses de desenvolvimento, o projeto Git revelado lançou recentemente o novo Git versão 2.43, que vem com novos recursos e correções de bugs de mais de 80 colaboradores, 17 deles novos.
No Git 2.43 As opções “–filter” e “–filter-to” foram introduzidas no comando “git repack”. Essas opções permitem reempacotar o repositório considerando o filtro de objeto especificado.
Além disso, se necessário, os objetos que não atendem ao filtro podem ser movidos para um local separado. Essas opções são úteis para particionar o repositório com base em determinados critérios, como remover objetos desnecessários ou superdimensionados. Apesar dessas modificações, a capacidade de acessar todas as partes do repositório por meio de clonagem parcial é preservada.
Outra mudança O que se destaca nesta nova versão, no git repack, é que agora é suportado trabalhar com vários pacotes cruft, bem como dividir o conteúdo dos repositórios usando um filtro de objetos.
Além disso, destaca a capacidade de trabalhar com vários arquivos de pacote que contém informações em objetos inacessíveis, comumente chamados de "pacotes cruft". Esses arquivos não são referenciados no repositório, ou seja, não são vinculados por meio de ramificações ou tags. Com a introdução da nova opção “git repack –max-cruft-size”, Agora é possível especificar o tamanho máximo de um único arquivo de pacote e segmentar o banco de dados de objetos inacessíveis em vários arquivos de pacotes menores.
Usar vários arquivos de pacote pequenos em vez de um grande pode resultar em uma redução notável nas operações de E/S ao reempacotar repositórios com um grande número de objetos inacessíveis. Isso ocorre porque cada operação não exigirá a substituição de todos os dados, melhorando assim a eficiência do processo.
Note-se também que o comando for-each-ref atualizado com novos recursos relacionados à formatação, já que os usuários agora podem dizer ao git for-each-ref para aplicar quaisquer regras .mailmap especificadas em seu repositório a especificadores de formato personalizados, incluindo %(authorname) , %(committeremail) e outros.
Por outro lado, destaca-se que a mensagem de log padrão criada por "git revert", ao reverter um commit que registra uma reversão, foi modificado, para encorajar as pessoas a descrever melhor situações complexas de "reversão" em suas próprias palavras.
Das outras mudanças que se destacam nesta nova versão:
- Mudanças significativas foram feitas no sistema de CI do Git, permitindo que execuções de CI em andamento sejam abortadas quando novos pushes ocorrerem em filiais com verificações de CI em andamento.
- O Git agora também pode usar e reportar resultados para o Coverity, uma ferramenta de análise estática da Synopsys.
- «arquivo de mesclagem git» agora tem uma maneira de ler três variantes de conteúdo a serem mescladas de objetos blob.
- Adicionada a capacidade de aplicar regras .mailmap para especificar o formato especificado usando a opção -Formato. Como "%(authorname)" e "%(committeremail)" para "git for-each-ref» e comandos semelhantes.
- Agora as opções –rfc e –subject-prefix trabalhar juntos
- Uma mensagem escrita na antiguidade impediu que um galho fosse retirado, dizendo que já estava gravado em outro lugar. Mas agora é proposto que uma ramificação que está sendo dividida em duas ou rebaseada como uma ramificação que está em check-out e seja protegida contra modificação com o mesmo caminho de código. A mensagem foi reformulada para dizer que a filial está “em uso” para evitar confusão.
- «índice de atualização git»agora você tem a opção»–show-index-versão» para inspecionar a versão do formato de índice usado pelo arquivo de índice no disco.
- Novos recursos para formatos personalizados de log do git, permitindo aos usuários adicionar decorações usando o novo espaço reservado %(decorar) , que vem com modificadores opcionais como prefixo, sufixo, separadores e muito mais.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir