Lançamento do sistema de controle de origem distribuído Git 2.27

Disponível lançamento de um sistema de controle de origem distribuído Git 2.27.0. Git é um dos sistemas de controle de versão mais populares, confiáveis ​​e de alto desempenho, fornecendo ferramentas flexíveis de desenvolvimento não linear baseadas em ramificação e fusão. Para garantir a integridade do histórico e a resistência a mudanças retroativas, é utilizado hash implícito de todo o histórico anterior em cada commit; também é possível certificar tags individuais e commits com assinaturas digitais dos desenvolvedores.

Em comparação com a versão anterior, a nova versão incluiu 537 alterações, preparadas com a participação de 71 desenvolvedores, dos quais 19 participaram do desenvolvimento pela primeira vez. Básico inovações:

  • A ativação padrão implementada na versão anterior foi revertida segunda versão Protocolo de comunicação Git, usado quando um cliente se conecta remotamente a um servidor Git. O protocolo é considerado ainda não pronto para uso por padrão devido à identificação de problemas escorregadios que requerem consideração separada.
  • Adicionado um conjunto de opções para configurar uma conexão SSL ao acessar por meio de um proxy.
  • As informações exibidas ao usar os filtros de transformação “limpar” e “manchar” foram expandidas. Por exemplo, o objeto agora é mostrado arvore, no qual aparece o blob a ser convertido.
  • Para evitar confusão, o comando "git description" agora sempre usa o modo de saída estendido ("--long") se uma tag substituída associada a um commit for identificada (anteriormente, uma tag assinada ou anotada descrevendo um commit era gerada mesmo que fosse renomeado ou movido na hierarquia “refs/tags/”, e o comando “git show tag^0” não funcionou como esperado - “refs/tags/tag” não foi encontrado ou até mesmo uma tag diferente foi retornada).
  • Ao executar "git pull", um aviso é emitido agora, a menos que a variável de configuração pull.rebase seja explicitamente definida e as opções "--[no-]rebase" ou "--ff-only" não sejam usadas. Para suprimir o aviso para quem não pretende realizar uma operação de rebase, a variável pode ser definida como falsa.
  • As opções “git pull” comuns ao “git fetch” foram revisadas. Opções semelhantes não mencionadas anteriormente são documentadas e as opções ausentes são passadas para git fetch.
  • Adicionada a opção "--no-gpg-sign" ao comando "git rebase" para substituir a configuração "commit.gpgSign".
  • Adicionada a capacidade de "git format-patch" para exibir os cabeçalhos "From:" e "Assunto:" inalterados, sem converter caracteres não ASCII.
  • A opção “-show-pulls” foi adicionada ao “git log”, permitindo visualizar não apenas os commits nos quais as alterações foram feitas, mas também o commit para mesclar essas alterações de um branch separado.
  • Manipulação de entrada interativa unificada em todos os componentes e adição de uma chamada para fflush() após o prompt de entrada ser mostrado, mas antes da operação de leitura.
  • "git rebase" permite reaplicar todos os commits locais sem primeiro realizar uma operação de "checkout", mesmo que alguns deles tenham sido previamente upstreamados.
  • A variável de configuração 'pack.useSparse' foi alterada para 'true' para permitir otimizações anteriormente consideradas experimentais por padrão.
  • Adicionada opção "--autostash" ao "git merge".
  • Interface de "checkout esparso" aprimorada.
  • Várias novas ações foram adicionadas ao "git update-ref --stdin",
    permitindo o controle direto de transações de atualização de link, por exemplo, para implementar atualizações de link atômico em dois estágios em vários repositórios.

  • Adicionados modelos userdiff para documentos Markdown.
  • Removida a restrição para excluir todos os caminhos em modelos de checkout esparsos que resultam em uma árvore de trabalho vazia.
  • A operação "git restore --staged --worktree" agora usa como padrão o conteúdo do branch "HEAD" em vez de gerar um erro.
  • O trabalho continuou na transição para o algoritmo de hash SHA-2 em vez de SHA-1.
  • O código para interagir com o GnuPG foi reformulado.

Fonte: opennet.ru

Adicionar um comentário